Animator Controller:动画完成回调

时间:2014-11-16 05:00:01

标签: c# animation 3d unity3d

我在遗留系统上看过一些使用动画的帖子,但是我使用的是Animator Controller,我想知道动画何时完成播放。

有没有办法在动画完成播放时分配回调?

我可以创建一个协同例程并检查每一帧,但我觉得这样做是错误的。

您知道如何检查动画控制器动画何时播放完毕?

1 个答案:

答案 0 :(得分:1)

由于您使用的是Mecanim,这将为您提供所需的信息:

 if(this.animator.GetCurrentAnimatorStateInfo(0).IsName("AnimationName"))
 {
    // Do something.
 }

确保使用正确的 AnimationName ,您将没事。


API参考GetCurrentAnimatorStateInfo

  

获取指定AnimatorController的当前状态信息   层

它需要一个参数,即The Layer's Index。


事件解决方案

您可以通过调用函数来触发事件。您需要在Function窗口的Edit Animation Event区域中的所选帧中编写要调用的函数的名称。

简短tutorial了解如何操作。