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

GetCurrentAnimatorStateInfo(0).length

但是存在一个过渡动画的问题

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

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

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

var target = mGeneralSkillAttachInfo.Animator.runtimeAnimatorController.animationClips.FirstOrDefault(m => m.name == "xxx");

 

One thought on “Unity实现Animator获取当前剪辑长度”

发表评论

电子邮件地址不会被公开。 必填项已用*标注