Unity动画触发方法总结
需求
UI动画希望玩家点击一次就播放一次
一、SetActive
这种情况需要在动画播放完毕后,将animator所在 gameobject设置为 inactive;或者在每次点击时先将gameObject设置为inactive,再timer(0.01s)设置为active;
二、Animator类方法
Animator.settrigger: 这种方法需要在animator里自己添加状态转移参数
Animator.Play(“StateName”); 这个函数要注意它的参数默认值,单独这样写是永远不会执行的。要写成Animator.Play(“StateName”,0,0);
考虑使用hashid的函数重载;Animator.Play(hashid); 但是hashid也需要通过StateName来得到:int stateHash = Animator.StringToHash( stateName );
这种方法,依赖于stateName;一旦stateName改变了,这种方法也就时效了

本文总结了Unity中实现动画触发的三种方法:通过SetActive控制游戏对象的活动状态,使用Animator类的方法如setTrigger和Play,以及利用Animator Controller的回调函数OnStateExit。详细探讨了每种方法的适用场景和注意事项。
最低0.47元/天 解锁文章
22万+

被折叠的 条评论
为什么被折叠?



