首页 > Unity > Unity3D > Unity如何降低顶点数
2016
06-09

Unity如何降低顶点数

游戏中顶点数过多会给GPU带来很大压力,手游中GPU占用过高是造成手机发热的主要原因,因此尽量降低顶点数是手游优化很重要一环。

Unity如何降低顶点数 - 第1张  | Atlantis技术博客

可通过以下几个方面来降低顶点数(针对移动设备):

1. 控制模型多边形数量:

对于角色模型,若是屏幕上有可能会同时出现大量角色,就需要尽量压缩角色模型的面数,比如尽量控制在1500个面以内。

对于场景模型,删除看不到的地方的面,合并断开的定点,移除孤立的顶点。

2. 采用LOD:

角色模型也可以采用LOD,当同屏角色数量过多的时候可以有效控制顶点数

3. 相机的裁剪

开启Occlusion Culling

尽量降低相机的最远裁剪距离,将远处的物体裁剪掉,同时配合着fog及skybox来让远处看起来不是那么突兀。

尽量减小FOV、增大相机朝下的角度,可以有效减小视野中的模型顶点数

4. 灯光控制

尽量不要用实时光,若采用实时光,要保证最多只有一个灯光组件的RenderMode是Important

Unity如何降低顶点数 - 第2张  | Atlantis技术博客

手游一般Rendering Path采用Forward,多一个Important的实时光就多一次RenderPass导致顶点数翻倍,推荐下面这个链接里FuzzyQuills的回答:

http://forum.unity3d.com/threads/why-does-light-add-verts-and-tris.291872/

5. 谨慎使用一些后期处理插件

比如Global Fog、Glow 11等,会导致顶点数显著增加

备注:手游顶点数尽量控制在60k以内,超过100K会导致设备发热比较严重,超过200K设备就会很烫了。。。(采用iphone6测试)

欢迎大家继续补充优化顶点数的有效方法:)

最后编辑:
作者:maosongliang
这个作者貌似有点懒,什么都没有留下。