我正试图通过按键盘上的一个键来启动动画。
为此,我使用以下代码:
[HideInInspector] public Animation animation;
private void Start()
{
animation = GetComponent<Animation>();
}
private void Update()
{
if (Input.GetKeyDown("1"))
{
animation.Play("AnimationName");
}
}这给了我以下错误:
动画状态AnimationName无法播放,因为找不到它!
虽然,动画确实启动了,但是如何清除这个错误呢?
发布于 2019-05-16 10:36:30
我认为唯一可能的解释是你的动画剪辑没有标记为遗产。https://www.unity3dtips.com/zh/the-animation-state-could-not-be-played-because-it-couldnt-be-found/
在这里一步一步编辑:
动画必须标记为与动画组件一起使用的遗产。
但是有一件事你应该知道:如果可能的话,你应该避免传统的动画播放方式。学习如何使用动画组件。只需创建动画器,分配动画剪辑,确定动画组件中启动动画的布尔值,并在代码中将其设置为true (供基本使用)。当然,除了代码之外,还有一些事情要做,但是控制动画、播放不同的动画并将它们更改为您的需要会更容易(例如,在某个时候循环或停止动画要容易得多)。它也将更容易理解什么时候开始和什么时候比赛。
发布于 2022-07-20 02:48:14
另一件要检查的事情是你的gameObject上的遗留的‘动画’组件,它应该执行动画。在我的例子中,东西被标记为导入动画上的动画遗产,但是当调整导入上的设置时,它放弃了它从实际的“动画”组件中抱怨的动画,所以一旦我添加了它,事情就像预期的那样工作了。
调试模式中的检查器显示我的动画标记为‘遗产’真

我的动画组件显示了缺少的动画

https://stackoverflow.com/questions/56166350
复制相似问题