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里面配以相应的检查工具