unity3d移动平台性能优化专题(6):动画优化

    xiaoxiao2021-03-25  13

    原文地址:http://blog.csdn.net/yxriyin/article/details/42707409  

      动画的执行主要影响了cpu的性能,大概在10%左右的消耗。就是说33ms的消耗中,会有接近3-4ms在动画上。

         首先不论如何,都建议采用新版的动画系统,新版动画系统各方面的优化有比旧版要强很多。

         然后新版中有两种系统可以选择,一种是通用动画,一种是类人动画。这里建议使用通用,虽然类人在某种情况下性能更好,但在某种情况下会出现动画出现问题,以及更差的性能的情况,具体请参考官方文档。

         接下来就谈谈新版通用动画的性能优化:

        1.骨骼数。在已有 30 块骨骼的装置上增加 15 块骨骼,则在通用 (Generic) 模式下要多花 50% 的时间进行处理。所以尽量少的骨骼数是性能的基础。人的基本骨骼在30左右,即使加上附件,也尽量不要超过40。复杂一点50,再多就显得有点过头了。你可以自己算算,30个骨骼可以显示10个模型,但50个就只能显示6个了。

        2.贴图数。贴图多的话就会有多个蒙皮网格,间接导致动画播放性能下降,一个人只要一张贴图就好了。

        3.播放没有融合的单个动画片段会导致 Mecanim 比旧版动画系统慢。所以任何情况,都不建议使用直接播放单个动画片段的接口,而是通过状态机控制动画切换。

        4.使用通用 (Generic) 时,采用根运动比不采用时更昂贵。如果动画不采用根运动,确保不要选择根骨

        5.使用哈希而非字符串来查询动画器 (Animator).

        做好以上5点,相信你的帧数又提升1帧了!

    转载请注明原文地址: https://ju.6miu.com/read-149617.html

    最新回复(0)