我在遗留系统上看过一些使用动画的帖子,但是我使用的是Animator Controller,我想知道动画何时完成播放。
有没有办法在动画完成播放时分配回调?
我可以创建一个协同例程并检查每一帧,但我觉得这样做是错误的。
您知道如何检查动画控制器动画何时播放完毕?
答案 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了解如何操作。