Unity不用C#播放动画

时间:2017-05-22 03:18:23

标签: c# animation unity3d animator

因此,动画播放"自动播放"但是当我无法从我的C#中播放它时。这是运行它的代码:

[SerializeField]
private GameObject theThing;

theThing.gameObject.GetComponent<Animation>().Play();
//i also tried using Animator but no luck

我也在动画文件中启用了Legacy

2 个答案:

答案 0 :(得分:1)

如果要将Legacy用于动画,则必须在动画中设置每个state的速度。以下代码应该完成这项工作:

private GameObject theThing;
public void PlayAnim()
{
    foreach (AnimationState state in theThing.GetComponent<Animation>())
    {
        state.speed = 0.5f;
    }
    this.GetComponent<Animation>().Play();
}

答案 1 :(得分:0)

所以,我的问题是我设置预制件来播放动画而不是实例化的动画。 我也像这样再次使用Animator:

theThingIns.gameObject.GetComponent<Animator>().Play();