关于Animator获取当前剪辑长度

通常下意识的肯定用这个接口

GetCurrentAnimatorStateInfo(0).length

但是存在一个过渡动画的问题,具体看这篇:过渡动画的测试

所以当播新的状态时直接取动画时间,取到的就不是当前剪辑的时间。

也可以加一个判断,使用这个接口判断是不是过渡bool IsInTransition(layer)

更直接的解决方法是去动画控制器里取原始剪辑:

var target = mGeneralSkillAttachInfo.Animator.runtimeAnimatorController.animationClips.FirstOrDefault(m => m.name == "xxx");
原文地址:https://www.cnblogs.com/hont/p/4817041.html