unity我用代码检测动画播放完毕
在Unity中,你可以使用Animator的IsInTransition方法和GetCurrentAnimatorStateInfo方法来检测动画是否播放完毕。
首先,你需要获取Animator组件的引用。可以使用以下代码来获取Animator组件的引用:
Animator animator = GetComponent<Animator>();
然后,你可以使用以下代码来检测动画是否播放完毕:
bool animationFinished = !animator.IsInTransition(0) && animator.GetCurrentAnimatorStateInfo(0).normalizedTime >= 1f;
这里,IsInTransition(0)用于检测是否在过渡中,GetCurrentAnimatorStateInfo(0).normalizedTime >= 1f用于检测当前动画的播放进度是否大于等于1,即播放完毕。
最后,你可以根据animationFinished的值来执行相应的操作。
注意:以上代码假设你的动画层索引为0,如果你有多个动画层,你可能需要根据具体情况进行调整
原文地址: https://www.cveoy.top/t/topic/h4Id 著作权归作者所有。请勿转载和采集!