Mecanim 性能和优化

此页面包含一些有助于您获得 Mecanim 最佳性能的提示,包括角色设置、动画系统和运行时优化。

角色设置

骨骼块数
在某些情况下,您需要创建拥有大量骨骼的角色,例如想要大量定制附件时。这些额外的骨骼会增加发布大小,每增加一块骨骼,您预期会要承担相对加工成本。例如,在已有 30 块骨骼的装置上增加 15 块骨骼,则在通用 (Generic) 模式下要多花 50% 的时间进行处理。请注意,可以在类人模式下添加骨骼。动画播放没有使用额外骨骼时,则就没什么加工成本。如果它们的附件不存在或隐藏,该成本将更低。
多个蒙皮网格
只要可能,合并蒙皮网格。将角色分成两个蒙皮网格渲染器就性能方面来说是个坏主意。如果角色只用一种材质,效会果更好,但在某些情况下,可能需要更多材质。

动画系统

控制器
控制器未设为动画器时,动画器不会花时间进行处理。
简单的动画
播放没有融合的单个动画片段会导致 Mecanim旧版动画系统慢。旧版系统非常直接,会取样曲线,并将曲线直接写入变换组件。Mecanim 拥有一个用于融合的临时缓冲区,还有一些取样曲线和其他数据的额外副本。Mecanim 布局已经优化,以便进行动画融合和更复杂的设置。
缩放曲线
确保任何动画片段上均无缩放曲线。您可以编写一个资源后置处理程序,来删除缩放曲线或就其提出警告;请参阅 AssetPostprocessor 参考,获取更多信息。
Mecanim 大多数时间都在评估动画,AnimationStateMachines 的间接费用控制在最低水平。向动画器(不论是否同步)再添加一层的费用取决于该层所播放的动画混合树。当层的重量为零时,则将跳过层更新过程。
类人模式对比通用模式
这些提示有助于您在这些模式之间作出选择:
Mecanim 场景
可进行多项优化,一些有用的提示包括:

运行时优化

可见性和更新
始终通过设置动画器的剔除模式 (Culling Mode)基于渲染器 (Based on Renderers) 来优化动画,然后禁用蒙皮网格渲染器的在屏幕外时更新 (Update When Offscreen) 属性。这样,动画在角色不可见时不会更新。请参阅蒙皮网格渲染器,获取更多信息。

Page last updated: 2013-06-24