2014年11月26日水曜日

Unity:スクリプトで再生中のアニメーションの判定


UnityでAnimator を使ったはいいけど、
どうやってスクリプトでいま再生しているものを判定すればいいんだってときの話

これが意外と出てこない

なんかネットで調べてもあまり良いの出てこなくて、
かつ発見できたので、書きます。
C#で、Unity4.5です。

Animatorクラスの中のGetCurrentAnimatorStateInfo(0).IsNameがそれです。
プログラムで書くとこんな感じ

Animator UnityChanAnimation;
public GameObject UnityChan;

void Start () {
    UnityChanAnimation = UnityChan.GetComponent<Animator> ();
}

void Update () {
  if(UnityChanAnimation.GetCurrentAnimatorStateInfo(0).IsName("dance")) == true){
  //再生中
  }
}

もし"dance"モーションが再生中ならtrueを返します。


0 件のコメント:

コメントを投稿