Unity
文章平均质量分 71
飞墨留白
Hello,gamer!
展开
-
Unity中UI和游戏物体之间的层级渲染
之前使用一个UICamera和一个MainCamera做场景,希望给场景加上一个BackGround,但是将BackGround和操作的UI都绑在UICamera,将游戏物体正常地用MainCamera渲染时,出现了游戏物体遮挡住Button或者BackGround直接遮挡住了整个场景的情况。在不清楚Camera的渲染方式的时候粗暴地去除了BackGround,用SkyBox来带替,作为游戏背景。原创 2017-10-15 22:26:18 · 6962 阅读 · 0 评论 -
Unity优化记录(1)——UI
图集1、可以将同一个canvas的图片尽量打包放在一个图集下,对于某些在很多canvas都会用到的图片再打包成一个share开头的图集,表明这个图集里的元素是被多个canvas公用的,并且按照类似的规则打包UI的AssetBundle,目的是为了减少canvas的drawcall。2、例如背景图片等不需要接受输入的UI的Raycast target关闭,以减少点击时来自EventSystem的...原创 2019-02-24 23:21:38 · 188 阅读 · 0 评论 -
Unity优化记录(2)——场景优化
1、对于场景中的石头可以按批量合并成石堆,然后使用Mesh合并的方式生成新的石堆的Mesh,并设置碰撞体。这样可以在不影响效果的情况下降低开销。示例:...原创 2019-02-24 23:27:04 · 538 阅读 · 0 评论 -
Unity优化记录(3)——C#(如何解决使用enum和struct作为Dictionary的TKey带来的GC)
1、关于在Dictionary中使用Enum作为TKey会带来GC的问题。这个问题是在阅读《2018腾讯移动游戏技术评审标准与实践案例》中发现的,在原书第21页有如下测试代码和测试结果:...原创 2019-02-26 22:10:22 · 5348 阅读 · 1 评论 -
Unity优化记录(4)——C#(协程Coroutine的优化与设计、闭包的优化)
1、协程Coroutine的优化与设计对于Unity内的协程,在yield return 时不要每次都new一个,可以在之前创建一个变量做为代替。同时我在项目中创建了一个MYXZTimer,方便可以全局地使用协程,并且统一做优化,下文来说明一下设计思路:在开发过程中,往往需要滞后地来调用某个函数,例如网络同步,更新信息等,但是这些类又往往不是继承自Monobehavior的,所以这里通过创建一...原创 2019-02-27 00:02:29 · 893 阅读 · 0 评论