C# 动画控制器:动画完成回调
我看过一些关于遗留系统使用动画的帖子,但我使用的是Animator控制器,我想知道动画何时完成播放 有没有一种方法可以在动画播放完成时指定回调 我可以创建一个共同的例行程序,检查每一帧,但我觉得这样做是错误的C# 动画控制器:动画完成回调,c#,animation,3d,unity3d,C#,Animation,3d,Unity3d,我看过一些关于遗留系统使用动画的帖子,但我使用的是Animator控制器,我想知道动画何时完成播放 有没有一种方法可以在动画播放完成时指定回调 我可以创建一个共同的例行程序,检查每一帧,但我觉得这样做是错误的 您知道如何检查动画控制器动画何时完成播放吗?因为您使用的是Mecanim,这将为您提供您想要的: if(this.animator.GetCurrentAnimatorStateInfo(0).IsName("AnimationName")) { // Do something
您知道如何检查动画控制器动画何时完成播放吗?因为您使用的是Mecanim,这将为您提供您想要的:
if(this.animator.GetCurrentAnimatorStateInfo(0).IsName("AnimationName"))
{
// Do something.
}
确保使用正确的AnimationName,您会没事的
API参考 获取指定AnimatorController上的当前状态信息 层 它采用一个参数,即层的索引
事件解决方案 您可以通过调用函数来触发事件。您需要在
编辑动画事件
窗口的函数
区域中的选定帧中写入要调用的函数的名称
简要介绍如何操作。是的,但这再次要求我检查每一帧。我想避免不必要的开销!我认为这是一个遗产,我不认为这与当前的动画控制器工作system@Aggressor顺便说一下,在
Update()
上运行的if语句相对来说是免费的处理时间。我将在周末处理这个问题。我会尝试一下你的方法,如果我成功了,我会发回:)谢谢