UNITY3d在移动设备上的一些优化资源的方法
推荐
在线提问>>
1.使用assetbundle,实现资源分离和共享,将内存控制到200m之内,同时也可以实现资源的在线更新。
2.顶点数对渲染无论是cpu还是gpu都是压力最大的贡献者,降低顶点数到8万以下,fps稳定到了30帧左右。
3.只使用一盏动态光,不是用阴影,不使用光照探头。
粒子系统是cpu上的大头。
4.剪裁粒子系统。
5.合并同时出现的粒子系统。
6.自己实现轻量级的粒子系统。
animator也是一个效率奇差的地方。
7.把不需要跟骨骼动画和动作过渡的地方全部使用animation,控制骨骼数量在30根以下。
8.animator出视野不更新。
9.删除无意义的animator。
10.animator的初始化很耗时(粒子上能不能尽量不用animator)。
11.除主角外都不要跟骨骼运动apply root motion。
12.绝对禁止掉那些不带刚体带包围盒的物体(static collider )运动。
NUGI的代码效率很差,基本上runtime的时候对cpu的贡献和render不相上下。
13每帧递归的计算finalalpha改为只有初始化和变动时计算。
14去掉法线计算。
15不要每帧计算viewsize 和windowsize。
16filldrawcall时构建顶点缓存使用array.copy。
17.代码剪裁:使用strip level ,使用.net2.0 subset。
18.尽量减少smooth group。
19.给美术定一个严格的经过科学验证的美术标准,并在U3D里面配以相应的检查工具。