519242259 发表于 2020-11-26 13:42

Unity资源设置规范

当我们把原始资源导入Unity之后,会有大量参数需要设置,这些参数设置会对性能产生较大影响。这里对一些对性能有比较大影响的设置做出了规范,其他未提到一些参数依据需要正确。
后期在项目实际开发过程中我们又开发了一套基于目录文件名黑白名单等可配置复杂规则的自动化工具来完成这件事,只要基于美术资源的规则,配置好设置清单,在资源导入的时刻就会自动成真确的格式,并且如果有不满足命名、大小、性能的资源会直接报警和删除,极大程度的解放了美术同学的工作~
所有模型,贴图和动画等资源除非特殊需要(例如粒子的Mesh会需要,因为在运行时会修改)都不要勾选Read/Write这样会在内存中再开辟一份做更新:

模型文件选则Mesh Compression的High进行压缩(会导致效果有一定损失,有特殊需要例如展示模型等可以关闭压缩,或者设置Low,Medium,但是默认应该设置为最高压缩):

默认开启Optmize Mesh:

不使用Lightmap的模型不要设置Generate Lightmap UVS,例如角色等,Generate Colliders等也类似:

非特殊情况不需要设置Import BlendShapes,其他法线,灯光,材质等也类似,不需要使用的不要导致,这里不再累述:

角色需要设置成humanoid保证lookat功能

不带动画的模型Rig类型设置为None,不需要导入动画的Mesh取消Animations的导入,例如场景中的大部分物件:

动画文件把Optimize Game Objects勾上,外挂节点需要加到Extra Transforms to Expose里面:

动画数据默认设置压缩,设置为Optimal的方式(有可能会减少关键帧):

Max导出fbx文件后,再重新将fbx文件导入,并且对所有骨骼动画曲线做一次曲线优化,会大大减少文件容量
1. 选中全部骨骼
2. Track View-Curve Editor中选中全部曲线
3. Curves -> Simplify Curve

不需要法线的模型把Tangents设置为None(如特效模型,部分场景模型,第LOD的角色模型):

需要的需要选择导入法线和计算Tangents:

不需要MipMaps的贴图不要勾GenerateMipMaps,例如近景细节物件(离远了就不会显示),Lod0的角色(离远了就自动切成低级别了):

所有贴图除非特殊需要(部分UI等,如果非要使用非压缩格式也应该先尝试RGBA16看看效果)应该使用压缩格式,必须使用2的幂的尺寸,Android使用ETC,IOS使用ASTC,最大压缩格式以2048为上限,如果低于2048以实际分辨率为准


贴图默认关闭各向异性,Aniso Level为0或者1,如果希望开启需要周知TA和程序:

安卓平台带alpha设置如下,使用RGBA ETC2:

安卓平台不带alpha设置如下,使用RGB ETC:

苹果平台带alpha使用ASTC设置如下,可以依据贴图的重要程度调节压缩比但默认推荐6x6:

苹果平台不带alpha使用ASTC设置如下,可以依据贴图的重要程度调节压缩比但默认推荐6x6:

默认平台带alpha设置如下:

默认平台不带alpha设置如下:
页: [1]
查看完整版本: Unity资源设置规范