获取MissingComponentException:游戏对象没有附加动画

时间:2013-05-08 03:02:19

标签: unity3d

采取的步骤:

  • 从Blender(版本2.66a)导入到Unity的装配/动画角色(fbx文件)(我相信我使用的版本是4.1.2;我知道我已经在过去几天内下载/安装了它)< / LI>
  • 在检查器的动画设置中选中“导入动画”
  • 在Inspector中创建/测试动画片段
  • 将字符从“资源”面板拖到“层次结构”面板

将字符拖动到Hierarchy面板后,我注意到当我选择场景中的字符实例时,我不再看到动画。如果我运行游戏,我会收到标题中引用的MissingComponentException。

总之,我可以在Inspector的导入设置中看到动画,但是一旦我将角色拖到场景中,动画就会消失。

这是我播放“空闲”动画的简单代码(正确命名并在导入设置中正确播放):

void Start () {
    animation.Play("Idle");     
}

2 个答案:

答案 0 :(得分:3)

Unity 4中有两种方法可以调用模型的动画。

“Unity”中的“经典”方式: 通过导入fbx,您必须将“Rig”下的“动画类型”设置为“legacy”。 在层次结构中,模型需要“动画”组件而不是“动画师”组件! 然后,您必须将模型中的动画添加到动画组件中。 现在你可以写

animation.Play("Idle");

“新”Mechanim方式: 通过导入fbx,您必须将“Rig”下的“动画类型”设置为“generic”。 在层次结构中,模型需要“Animatior”组件而不是“Animaton”组件! 然后,您必须将模型中的动画添加到动画控制器中,并将其添加到Animator组件中。 在控制器中,您可以设置值以在不同的动画之间切换。但是如果你想使用Mechanim看看这个教程,它对我帮助很大!

http://www.youtube.com/watch?v=Xx21y9eJq1U

答案 1 :(得分:1)

在对象的导入设置中,转到Rig并将动画类型设置为Legacy。