笔记
清蒸雪糕
一个小人物
展开
-
Unity笔记-UGUI合并批次的规则
按照叠层顺序处理:叠层顺序是按照Hierarchy中的顺序从上往下进行的,也就是越靠上的组件,就会被画在越底部。图集Batch规则:计算层级号的算法:如果有一个UI元素,它所占的屏幕范围内(通常是矩形),如果没有任何UI在它的底下,那么它的层级号就是0(最底下);如果有一个UI在其底下且该UI可以和它Batch,那么它的层级号与底下的UI层级一样;如果有一个UI在其底下但无法与它Batch,那么它的层级号为底下的UI层级+1;如果有多个UI都在其下面,那么按前两种方式遍历计算所有的层级号,.原创 2020-07-27 23:56:58 · 2569 阅读 · 0 评论 -
Unity AssetBundle原理
AssetBundle是unity提供的一个特定平台的归档文件(archive file),可以在运行时加载。AssetBundle包可以明确的表示互相之间的依赖关系,如a包中的材质引用了b包中的贴图。为了在网络上高效的传输,AssetBundle可以更具实际需求选择内置的压缩算法。AssetBundle对下载DLC(扩展包)很有用,可以减少安装包大小,优化终端平台的资源加载,减少运行时的内存压力。总结:游戏资源更新,减少游戏安装包大小,优化资源加载。AssetBundle策略.原创 2020-07-27 17:59:05 · 1062 阅读 · 0 评论 -
游戏聊天系统
聊天系统一般要处理:聊天窗口的频繁信息刷新显示,黑名单屏蔽,私聊,语音信息处理等。为了优化界面的显示性能,需要将界面里面的每一条信息item进行复用,从而减少聊天界面创建出来的item数量。会用到一个简单的池ChatItemMgr当界面滑动时,会触发scrollView位置改变,根据位置事件监听,界面调用getChatItem()方法function ChatShowView:getChatItem(lastItemIndex, isUp, chatVo) local item原创 2020-06-06 15:31:53 · 602 阅读 · 0 评论 -
PSD文件生成Unity预设
流程:1.确保psd的单位是像素2.PS里面选择 文件->脚本->浏览,然后选择脚本changePSD.jsx3.将生成的xml文件放到Sublime Text,选择 文件->设置文件编码->UTF-8,保存4.打开Unity,Hierarchy界面创建新的Panel,选中Panel,选中Assets->UI工具->生成预设prefab->选中上面的xml文件,生成生成规则生成规则是根据显示的图层生成的,所以不需要生成的都设置为不可见.原创 2020-06-05 17:11:19 · 1066 阅读 · 1 评论 -
NGUI图形工作流程
UIWidget是UI的基础组件(UILable、UISprite)的基类,含有组件的基本信息(width、height、color等)。UIGeometry是UIWidget的几何数据,记录了顶点坐标、贴图的UVs和颜色信息。UIDrawCall是将多个UIWidget的UIGeometry组合起来一起绘制,具体的UIWidget如果公用一个UIDrawCall由UIPanel控制。...原创 2020-03-22 23:17:27 · 175 阅读 · 0 评论 -
Unity3d机制性问题和C#性能问题
Unity3d机制性能问题1.减少Find,FindGameObjectWithTag,GetCompent等函数,特别是每帧使用,应尽可能在Awake,Start函数里查找,并缓存起来,以便多次使用。Awake在脚本被实例化的时候会被调用(不管脚本是不是enable),而且在脚本的生命周期中只会被调用一次。Awake是在所有对象实例化之后,所以可以使用诸如GameObject,Fine之...原创 2020-03-18 21:38:21 · 657 阅读 · 0 评论 -
NGUI UI动画笔记
Tween动画特点:1.都要设置From和To,也就是动画的起点和终点,然后动画会根据这两个点,插值出中间过渡点,最后完成起点到终点的过程。2.都有一个Tweener模块,里面需要设置动画的曲线、持续时间等。3.都有一个OnFinish模块,可以设置动画播放完成之后触发的事件函数。4.Tween动画都是实实在在地改变UI的相关参数,并不是一个“临时效果”。...原创 2018-03-16 20:45:04 · 317 阅读 · 0 评论 -
Unity加载模块笔记
在游戏和VR项目的研发过程中,加载模块所带来的效率开销和内存占用(即“加载效率”、“场景切换速度”等)经常是开发团队非常头疼的问题,它不仅包括资源的加载耗时,同时也包含场景物件的实例化和资源卸载等。在我们看来,该模块的耗时是目前引擎中仅次于渲染的第二大模块。目前加载模块中最为耗时的性能开销可以归结为以下几类:资源加载、资源卸载、Object的实例化和代码的序列化。 资源加载 资源加载...原创 2018-03-01 09:46:41 · 917 阅读 · 0 评论 -
性能优化笔记-内存
Unity引擎开发的移动游戏,内存的开销大致可以分为以下三部分:1.资源内存占用;2.引擎模块自身内存占用;3.托管堆内存占用。资源内存占用:在一个较为复杂的大中型项目中,资源的内存占用往往占据了总体内存的70%以上。因此,资源使用是否恰当直接决定了项目的内存占用情况。一般来说,一款游戏项目的资源主要可分为如下几种:纹理(Texture)、网格(Mesh)、动画片段(AnimationClip)、...原创 2018-02-26 10:08:29 · 370 阅读 · 0 评论