概述
遮挡剔除技术
对于不在摄像机拍摄范围内的对象,对这一对象的绘制是完全没有必要的,所以可以用到遮挡剔除技术
- 将静态物体勾选static
- 选择Windows->Occlusion Culling打开遮挡剔除窗口,单机Bake
- 修改bake界面的参数大小,可以修改Bake的单元的大小
- 单机Bake按钮进行烘焙
- 在场景右下方会出现Occlusion Culling下拉列表,选择Visualize便可以隐藏这些线条
- 之后便会发现在摄像机视野之外,这些对象将不会被绘制
注意:虽然不会被绘制,但是其他诸如物理引擎、唯一旋转放大等计算都是不受影响的。对于其他的优化这需要另行处理。
批处理技术
指的是Unity 3D内置的Draw Call Batching技术,这也无需开发人员参与,由U3D自动完成。
1. 如果多个对象使用了同一材质,U3D会一次性将这些对象的绘制信息一并传递给GPU
2. 但是如果缩放不统一,依然不能够进行批处理
3. 拥有Lightmap的对象由于多出了一个光照烘焙材质,也将不会进行批处理,应尽量避免
4. 接受了阴影的对象也不会进行批处理。使用了含有多个Pass着色器的对象也不会进行批处理。同时Unity3D向GPU传递的信息量是有限的,所以要避免使用定点过多的对象。
5. 以上都是动态批处理Dynamic Batching,而在IOS开发时,Unity3D还提供了静态批处理,即static Batching,更加节约资源,需要勾选Static参数
移动平台优化技巧
- 注意控制模型顶点的数量
- 避免在Update这类方法中不断调用GetComponent、Find、FindWithTag等API,建议在Awake和Start中声明和初始化该对象。
- 多使用整形而非浮点数
- 尽量避免使用GUILayout,尝试用脚本代替GUILayout
- 在Edit->Project Settings->Quality打开画质调整窗口,设置垂直同步等参数
- 用球形、胶囊、长方体碰撞体的组合来替代网格碰撞体
- 使用协同程序Coroutines来来模仿线程协同完成任务
最后
以上就是聪慧舞蹈为你收集整理的【Unity学习】Unity中的常见性能优化遮挡剔除技术批处理技术移动平台优化技巧的全部内容,希望文章能够帮你解决【Unity学习】Unity中的常见性能优化遮挡剔除技术批处理技术移动平台优化技巧所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复