Unity性能优化篇(十一) 动画优化

1.恰当地设置Animator组件的Culling Mode。Always Animate表示如果该动画不可见,也会播放它。Cull Update Transformations表示如果该动画不可见,则不会渲染该动画,但是依然会根据该动画的播放来改变游戏对象的位置、旋转、缩放,这样是常用的选项。Cull Completely表示完全不会播放该动画,不但不会渲染该动画,而且也不会改变游戏对象的位置、旋转、缩放。
在这里插入图片描述

2.禁用SkinMesh Renderer组件的Update When Offscreen可以让角色在不可见的时候动画不更新,这样可以减少计算量,提升性能。
在这里插入图片描述

3.对于Animator组件,可以使用Animator.StringToHash方法获得指定字符串的哈希值,再把它作为参数传入Animator型对象.GetXXX方法和Animator型对象.SetXXX方法中进行使用。

		//获取动画组件
        Animator animator = GetComponent<Animator>();
        //正常情况播放动画的方法
        animator.SetBool("animName", true);
        animator.SetFloat("animName", 1);
        //优化播放的方法
        int hashValue = Animator.StringToHash("animName");
        animator.SetBool(hashValue, true);
        animator.SetFloat(hashValue, 1);

4.不用的Animation组件和Animator组件可以考虑删掉,因为只要它们存在,就会消耗性能来检测当前的状态和过渡条件。

5.一些简单的动画可以使用DoTween、iTween等插件实现,而不需要每个动画都用Animator来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值