我正在尝试通过按键盘上的键来开始动画。
为此,我使用以下代码:
[HideInInspector] public Animation animation;
private void Start()
{
animation = GetComponent<Animation>();
}
private void Update()
{
if (Input.GetKeyDown("1"))
{
animation.Play("AnimationName");
}
}
这给了我以下错误:
动画状态AnimationName无法播放,因为它 找不到!
虽然动画确实开始了,但是如何清除此错误?
答案 0 :(得分:3)
我认为唯一可能的解释是,您的动画剪辑未标记为“旧版”。 https://www.unity3dtips.com/zh/the-animation-state-could-not-be-played-because-it-couldnt-be-found/
在此处逐步进行编辑:
必须将动画标记为旧版,以便与动画组件一起使用。
在项目窗口中,选择要播放的动画剪辑。
将检查器设置为暴露隐藏变量的调试模式,在这种情况下,它将显示“旧版”复选框。UnityInspector调试模式
勾选“旧版”复选框,然后将检查器更改回普通模式。 Unity Inspector Animation Clip Legacy复选框
但是您应该知道一件事:如果可能,应该避免使用旧的传统动画播放方式。 了解如何使用Animator组件。只需创建一个动画师,分配动画剪辑,在动画师组件中确定一个用于启动动画的布尔值,然后在代码中将其设置为true(用于基本用途)即可。 当然,在代码旁边还有一些事情要做,但是控制动画,对不同动画进行漂白和根据需要更改它们会更容易(例如,在某个时候循环或停止动画要容易得多)。 何时开始播放以及何时播放也更容易理解。