没有 'Animation' 附加到 "person" 游戏对象,但脚本正在尝试访问它

There is no 'Animation' attached to the "person" game object, but a script is trying to access it

Picture: Object Hierarchy

我想使用 Unity 和 Vuforia 在按下虚拟按钮时播放动画。但是不知道为什么报错"there is no 'Animation' attached to the game object"

我正在使用 Unity 4.7.0 和 Vuforia 5-0-10

这是附加到 ImageTarget 的代码

using UnityEngine;
using System.Collections;

public class VBEventHandler : MonoBehaviour, Vuforia.IVirtualButtonEventHandler {

public GameObject person;

void Start(){
    Vuforia.VirtualButtonBehaviour[] vbs = GetComponentsInChildren<Vuforia.VirtualButtonBehaviour> ();
    for(int i=0; i<vbs.Length; i++){
        vbs[i].RegisterEventHandler(this);
    }

    person = transform.FindChild("person").gameObject;
}

public void OnButtonPressed(Vuforia.VirtualButtonAbstractBehaviour vb){
    switch (vb.VirtualButtonName) {
        case "VBAnim":
            person.animation.Play();
            break;
    }
}

public void OnButtonReleased(Vuforia.VirtualButtonAbstractBehaviour vb){
    switch (vb.VirtualButtonName){
        case "VBAnim":
            person.animation.Stop();
            break;
        }
    }
}

我是不是漏掉了什么?

注意错误说

there is no 'Animation' attached to the game object

我在想,很有可能

there is no 'Animation' attached to the game object

你应该做的是检查是否

there is no 'Animation' attached to the game object

您可能会发现

there is no 'Animation' attached to the game object

如果结果

there is no 'Animation' attached to the game object

那么你已经发现了你遇到的问题,

there is no 'Animation' attached to the game object

呵呵!就是这么简单。


2019

撇开幽默不谈,请注意这些天

您附上一个Animator。你不会,真的,直接使用动画。

查看有关在 Unity 中制作类人动物动画的基本教程。 (在 Unity 中处理动画时,强烈建议使用 UMotion。)