C# 动画状态。。无法播放,因为它无法';找不到?

C# 动画状态。。无法播放,因为它无法';找不到?,c#,unity3d,animation,C#,Unity3d,Animation,我试图通过按下键盘上的一个键来启动动画 为此,我使用以下代码: [HideInInspector] public Animation animation; private void Start() { animation = GetComponent<Animation>(); } private void Update() { if (Input.GetKeyDown("1")) { animation.Play("AnimationNa

我试图通过按下键盘上的一个键来启动动画

为此,我使用以下代码:

[HideInInspector] public Animation animation;

private void Start()
{
    animation = GetComponent<Animation>();
}

private void Update()
{
    if (Input.GetKeyDown("1"))
    {
        animation.Play("AnimationName");
    }
}
[hideininstect]公共动画;
私有void Start()
{
动画=GetComponent();
}
私有void更新()
{
if(Input.GetKeyDown(“1”))
{
动画。播放(“动画名称”);
}
}
这给了我以下错误:

无法播放动画状态AnimationName,因为它 找不到


虽然动画确实开始了,但如何清除此错误?

我认为唯一可能的解释是,您的动画剪辑没有标记为遗留。

在此处逐步编辑:

动画必须标记为传统,才能与动画组件一起使用

  • 在“项目”窗口中,选择要播放的动画片段

  • 将检查器设置为显示隐藏变量的调试模式,在这种情况下,将显示“遗留”复选框。Unity检查器调试模式

  • 勾选“遗留”复选框并将检查器更改回正常模式。 Unity Inspector动画剪辑传统复选框


  • 但是有一件事你应该知道:如果可能的话,你应该避免播放动画的老方法。 了解如何使用动画师组件。只需创建一个动画师,指定动画片段,在动画师组件中为开始动画确定一个布尔值,并在代码中将其设置为true(用于基本用途)。 当然,除了代码之外,还有一些事情要做,但是控制动画、制作不同的动画并根据需要更改它们会更容易(例如,在某个点循环或停止动画要容易得多)。
    它什么时候开始播放也更容易理解。

    我认为唯一可能的解释是,您的动画剪辑没有标记为遗留。

    在此处逐步编辑:

    动画必须标记为传统,才能与动画组件一起使用

  • 在“项目”窗口中,选择要播放的动画片段

  • 将检查器设置为显示隐藏变量的调试模式,在这种情况下,将显示“遗留”复选框。Unity检查器调试模式

  • 勾选“遗留”复选框并将检查器更改回正常模式。 Unity Inspector动画剪辑传统复选框


  • 但是有一件事你应该知道:如果可能的话,你应该避免播放动画的老方法。 了解如何使用动画师组件。只需创建一个动画师,指定动画片段,在动画师组件中为开始动画确定一个布尔值,并在代码中将其设置为true(用于基本用途)。 当然,除了代码之外,还有一些事情要做,但是控制动画、制作不同的动画并根据需要更改它们会更容易(例如,在某个点循环或停止动画要容易得多)。
    它的开始和播放时间也更容易理解。

    添加动画控制器的屏幕截图。但是“AnimationName”不是itI键入的AnimationName的名称,以便对其进行分类,但我确保名称完全相同。应该告诉它,我的错。添加一个动画控制器的屏幕截图。但是“AnimationName”不是itI键入的AnimationName的名称,以便对其进行分类^^^,但我确保名称完全相同。我应该告诉它,我的错。是的,我以前也用过Animator GameObject,但这给我们在使用转换时带来了一些麻烦。这在运行时更改转换时效果更好。虽然该链接可能会解决此问题,但请确保在此处重现所需的步骤。如果URL在将来关闭,你的帖子将变得毫无用处。是的,我以前也使用过Animator GameObject,但这给我们使用转换带来了一些麻烦。这在运行时更改转换时效果更好。虽然该链接可能会解决此问题,但请确保在此处重现所需的步骤。在这种情况下,网址是在未来你的文章变得无用。