2017-05-22 10 views
0

したがって、アニメーションは「自動的に再生」されますが、C#から再生できないときに再生されます。ここでそれを実行するコードは次のとおりです。UnityはC#でアニメーションを再生しません

[SerializeField] 
private GameObject theThing; 

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

私はまた、レガシーはあなたがアニメーションのためLegacyを使用しようとしている場合は、アニメーションの各stateの速度を設定しなければならないアニメーションファイル

答えて

1

でオンになっています。次のコードは、ジョブを実行する必要があります。

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

私はスピードをハードコードしているが、あなたは、変数を作成し、あなたは私がアニメーションを再生するためにプレハブ自体を設定するのに十分なダムの代わりに、その設定したフィット感 – Hristo

+0

を参照してくださいしかし、それを変更することができますインスタンス化されたもの:p – Saeed

0

だから、私の問題は、私はインスタンス化の代わりにアニメーションを再生するためにプレハブを設定するということでした。 私はまた、このように再びアニメーターを使用:

theThingIns.gameObject.GetComponent<Animator>().Play(); 
関連する問題