Unity Animator获取当前播放动画片段
Animator获取当前播放片段,获取错误,跟当前播放的片段不一致的原因。
一般使用下面API,获取当前动画机播放片段:
//当前为Idle,现在切换到Run
AnimatorStateInfo animatorInfo = animator.GetCurrentAnimatorStateInfo(0);
currAnim.IsName("Run");//这里获取到的还是Idle
这里有一个机制,如果上一句代码是播放一个动画片段,下一句代码立即去获取当前播放片段信息,是获取不到的,需要等待几十ms的延迟,才能正确获取到当前播放片段信息。这是因为动画片段切换有一个切换过渡transition时间。