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里面配以相应的检查工具。
猜你喜欢LIKE
相关推荐HOT
GPU的工作原理
简而言之,GPU的图形(处理)流水线完成如下的工作:(并不一定是按照如下顺序) 顶点处理:这阶段GPU读取描述3D图形外观的顶点数据并根据顶点数据...详情>>
2022-11-08 09:43:27Unity常用技术点集锦(三)
FixedUpdate,固定时间间隔执行 可以在edit->project setting->time设置 update 是在渲染帧执行,和Update不同的是FixedUpdate是渲染帧执行,如...详情>>
2022-11-07 13:17:20C#的委托是什么?排序方式有哪些
C#的委托是什么?有何用处?委托类似于一种安全的指针引用,在使用它时是当做类来看待而不是一个方法,相当于对一组方法的列表的引用。用处:使...详情>>
2022-11-07 13:15:38Unity常用技术点集锦(二)
简述prefab的用处:在游戏运行时实例化,prefab相当于一个模板,对你已经有的素材、脚本、参数做一个默认的配置,以便于以后的修改,同时prefab...详情>>
2022-11-07 11:47:57