- 博客(21)
- 资源 (37)
- 收藏
- 关注
原创 C++实现委托机制之完整代码实现(一)
头文件 MyDelegate.h 代码如下:#include #include #include class IDelegate { public: virtual ~IDelegate() { } virtual bool isType(const type_info& _type) = 0; virtual void invoke() =
2017-04-24 17:37:29 351
转载 C++实现委托机制(一)
1.引言: 如果你接触过C#,你就会觉得C#中的delegate(委托)十分灵巧,它的用法上和C\C++的函数指针很像,但是却又比C\C++的函数指针更加灵活。并且委托可以一对多,也就是可以注册多个函数,甚至是某个类的非静态成员函数。而实现事件消息机制【1】也十分依赖于委托机制。基于这样的目的,我们试着在C++上封装出这样的一个委托机制。【1
2017-04-24 17:31:59 300
原创 XML 创建多个Element的XML文件
代码如下:using UnityEngine;using System;using System.Text;using System.IO;using System.Xml;using System.Collections;public class XmlDoc : MonoBehaviour { string savePath = Directory.GetCurrentD
2017-04-24 11:15:42 1563
转载 C++普通函数指针与成员函数指针实例解析
C++的函数指针(function pointer)是通过指向函数的指针间接调用函数。相信很多人对指向一般函数的函数指针使用的比较多,而对指向类成员函数的函数指针则比较陌生。本文即对C++普通函数指针与成员函数指针进行实例解析。一、普通函数指针很多新手对typedef void (*funcptr)()这个语句疑惑了,究竟是什么意思?其实这也是C/c++的基础。
2017-04-21 15:45:12 674
转载 C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
1.虚函数(impure virtual) C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。 子类可以重写父类的虚函数实现子类的特殊化。 如下就是一个父类中的虚函数:class A{public: virtual void out2(string s) { cout"A(out2
2017-04-21 15:31:17 380
转载 C++中的RTTI机制详解
前言RTTI是”Runtime Type Information”的缩写,意思是运行时类型信息,它提供了运行时确定对象类型的方法。RTTI并不是什么新的东西,很早就有了这个技术,但是,在实际应用中使用的比较少而已。而我这里就是对RTTI进行总结,今天我没有用到,并不代表这个东西没用。学无止境,先从typeid函数开始讲起。typeid函数typeid 是 C++ 的关键字之一,
2017-04-21 15:29:23 538
转载 C++ map类学习笔记
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。1. map最基本的构造函数;mapmapstring; map
2017-04-20 17:02:22 534
转载 C++ list 类学习笔记
双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和vector不一样的是,list不支持对元素的任意存取。list中提供的成员函数与vector类似,不过list提供对表首元素的操作push_front、pop_front,这是vector不具备的。和vector另一点不
2017-04-20 15:46:00 569
原创 VS 注释多行与取消多行注释快捷键
最近在使用VS2010开发ASP.NET,突然发现想全部注释时找不到注释的快捷键,网上查了下,原来很简单,只是需要使用组合键。注释: 先CTRL+K,然后CTRL+C取消注释:先CTRL+K,然后CTRL+U...
2017-04-13 17:12:10 179053 14
原创 编译报错 Warning as Error:
报错如下:解决方法:1:在“解决方案管理器”界面,右键点击项目,选择“属性”;2:点击“生成”;3:把“将警告视为错误”中的“全部”转换成“无”或“特定警告”;如下图所示:
2017-04-13 17:11:10 2908
转载 LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏(VS2010)
很多伙伴在更新VS2010,或者卸载VS2012安装2010后,建立Win32 Console Project/MFC项目时会出现"LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏"的错误。错误描述:解决方案: 第一步:将 项目——项目属性——配置属性——连接器——清单文件——嵌入清单 “是”改为“否”
2017-04-05 16:52:05 492
转载 Q&A——资源管理(十五)
资源管理Q1:我们项目做AssetBundle打包时,发现如果资源所依赖的C#Script的Public成员变量有变化时,用新代码加载旧的AssetBundle就会不兼容。有没有什么方法能判断这些Script在变化时是否需要重新打AssetBundle呢?目前我们使用.CS文件的MD5来判断是否需要重新打包,但其实这样应该有很多不必要的重复打包,对吗?该问题的本质原因是新代码的
2017-04-01 14:26:49 1038 1
转载 Q&A——性能
性能Q1:在整体的性能消耗上,CPU和GPU各占一半合理吗?如果不是,各占多少为好?还是说需要根据机型来看?其次,我如何知道游戏在手机上的GPU消耗?Profiler是看不到的,有工具推荐吗?首先,CPU和GPU是并行的,也就是CPU在运算的时候GPU也在运算,一帧的结束时间是两者中比较晚结束的那个。因此,一般我们在考虑这个问题的时候,经常会说是CPU bound还是GPU
2017-04-01 14:24:27 384
转载 Q&A——代码加载
代码加载Q1:我的项目在加载过程时经常崩溃,项目加载代码如下。想请问这种写法是否存在问题,是否会导致崩溃?首先,崩溃还是要看具体崩溃log,看看到底是哪里崩溃,定位真正的崩溃原因(说不定看完后还不是加载的问题)。其次,来谈谈代码的问题,一共有三点需要研发团队考虑:(1)代码中通过For循环开启一个Coroutine,通过WWW加载AB,然后保存www.bytes
2017-04-01 11:43:05 584
转载 Q&A——资源加载/卸载
资源加载/卸载Q1:如下图,通过纹理图片通过文件流形式加载到内存,这样的资源还可以使用Resources.UnloadUnusedAssets()和Resources.UnloadAsset(m_Asset)进行资源卸载吗?如果是自己载入内存并初始化为Unity的Texture2D,则还是要重点查看Texture2D对象的创建方式。一般来说,会用new Textur
2017-04-01 11:33:59 612
转载 Q&A——性能优化(三)
性能优化Q1:请问怎么优化下图这两者的GC Alloc?每次AddComponent 都会有这么多的开销。图中的两项GC Alloc是在进行AddComponent时不可避免的,因此只能通过尽量减少AddComponent的调用次数来进行优化。
2017-04-01 11:31:42 575
转载 Q&A——UI输入(三)
UI 输入Q1:UWA的直播里说的“将UI的Layer设置为不可见,从而将UI屏蔽”的方式具体是怎么实现的?为什么我在NGUI下直接设置UI元素的Layer不会生效呢?在NGUI中使用修改Layer的方式隐藏界面,必须以UIPanel为单位,即直接修改UIPanel所在的GameObject的Layer才会生效。因为对于UISprite或者UILabel,都会在运行时被强制修改为与
2017-04-01 11:26:45 763
转载 Q&A——物理
物理Q1:请问Physics.Processing的占用过大一般是因为什么原因导致的?影响物理系统耗时的因素主要为Contacts数量(碰撞对数量)、Rigidbody API的使用情况和每帧的调用次数。第一种情况是最为常见的引发物理模块耗时较大的原因,因此,我们在UWA性能报告中对其进行了详细的分析,如果你的报告中Contacts数量较高,切记要验证其
2017-04-01 11:16:34 774
转载 Q&A——图形渲染(三)
图形渲染Q1:我们的游戏中有一些静止的建筑,会和整个场景一起烘焙(包括了每个建筑在地表的阴影)。现在希望这些建筑是逐步开放的,比如玩家1级的时候只有建筑A开放,2级的时候建筑B开放,现在的问题是当建筑未开放时(SetActive(false))地表的相关阴影还在。这种问题一般是怎么处理的?这种问题是因为研发团队将整个场景烘焙成一张Lightmap所致。如果地图中的建筑是固定
2017-04-01 11:11:36 739
转载 Q&A——粒子系统
粒子系统Q1:粒子系统里面使用到的模型,是不是读写开关必须要打开,否则会崩溃?在Unity 5.3早期的版本中,我们确实收到过类似的反馈,在某些特效上使用了没有设置 Readable 的 Mesh 时就会触发崩溃,且在崩溃日志中会出现ParticleSystemRenderer::UpdateCachedMesh的堆栈。但目前我们在较新的版本上(例如4.7.2,5.3.5 等版
2017-04-01 11:08:07 335
转载 Q&A——其他
其他Q1:SkinnedMeshRenderer的Mesh是不是不能动态修改?属性里只开放了SharedMesh。如果需要动态修改 SkinnedMeshRender 对应的 Mesh,则可以通过读写 SharedMesh 来实现,类似于 MeshFilter.sharedMesh 的用法,参见:https://docs.unity3d.com/ScriptRefere
2017-04-01 11:07:11 448
Simple LOD v1.6.unitypackage
2018-04-17
VS调试利器autoexp.dat
2017-07-05
Visual assist x trial key破解补丁
2017-06-24
Visual Assist X 2114
2017-05-18
Avatar换装系统
2017-03-21
Fast Shadow Receiver
2017-03-07
Build Report Tool 自述文件
2017-03-01
Unity资源热更新之AssetBundle
2016-12-07
Unity3D-XML与JSON导出还原场景
2016-10-26
Unpause.zip
2019-05-17
Unity Shader - Sprite Shader之简单抠图
2018-05-30
Unity Shader - 后处理:高斯模糊
2018-05-25
Unity Shader-后处理:简单均值模糊
2018-05-23
Unity Shader - 后处理:简单的颜色调整(亮度,饱和度,对比度)
2018-05-23
Unity Shader - 隐身效果
2018-05-23
Unity Shader-死亡溶解效果
2018-05-22
UnityShader 法线贴图(Normal Map)与视差贴图(Parallax Map)
2018-05-21
UnityShader 浮雕凹凸贴图BumpMap与法线贴图NormalMap的原理及其区别
2018-05-20
UnityShader 渲染队列,ZTest,ZWrite,Early-Z
2018-05-18
UnityShader 边缘光(静态、动态及遮罩)效果
2018-05-16
UnityShader 漫反射(兰伯特与半兰伯特光照模型-逐顶点和逐像素光照)
2018-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人