不同时间顺序的不同对象的Unity动画



我有多个具有相同动画行为的对象。但是每个动画只有在前一个动画结束后才会开始。

我该怎么做?

你可以玩Unity Animator的动画状态。例如,如果我们有一个打开门的动画名为"开门",你可以定义一个过渡到名为"开门"的状态。一旦完成。假设你的场景中有几扇门,并希望它们一个接一个地打开,你可以通过代码声明一个布尔属性来实现这一点,该属性返回动画是否完成的状态:

bool Door_Opened => yourAnimator.GetCurrentAnimatorStateInfo(0).IsName("Door_Opened")

并使用协程确保它在跟随下一个对象之前完成。

yield return new WaitWhile(() => !Door_Opened);

最新更新