在Unity中,你可以使用Animator的IsInTransition方法和GetCurrentAnimatorStateInfo方法来检测动画是否播放完毕。\n\n首先,你需要获取Animator组件的引用。可以使用以下代码来获取Animator组件的引用:\n\ncsharp\nAnimator animator = GetComponent<Animator>();\n\n\n然后,你可以使用以下代码来检测动画是否播放完毕:\n\ncsharp\nbool animationFinished = !animator.IsInTransition(0) && animator.GetCurrentAnimatorStateInfo(0).normalizedTime >= 1f;\n\n\n这里,IsInTransition(0)用于检测是否在过渡中,GetCurrentAnimatorStateInfo(0).normalizedTime >= 1f用于检测当前动画的播放进度是否大于等于1,即播放完毕。\n\n最后,你可以根据animationFinished的值来执行相应的操作。\n\n注意:以上代码假设你的动画层索引为0,如果你有多个动画层,你可能需要根据具体情况进行调整。


原文地址: https://www.cveoy.top/t/topic/pNDj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录