クリックゲーム開発

#4.ドラゴンのダメージと死亡アニメを再生する方法

Unity ドラゴンのダメージアニメと死亡アニメを再生する

前回は、クリックでドラゴンにダメージを与える方法について解説しました。
今回は Unity のアニメーションコントローラーについて解説して、ダメージや死亡アニメを再生します。

アニメーションコントローラー

ドラゴンは今までと同じ Unity Asset Store のアセットを使います。

ドラゴンの prefab に入っている .controller ファイルを開いて下図のように編集しています。

特別な緑のノード Empty からオレンジの矢印でつながっている
ステート(アニメ)が、初期アニメとなります。

なお、この初期アニメは右クリックして「Set as layer default state」で変更できます

ここでは、Wait アニメになっています。

トリガー

次に、Any State という特別なノードから、Damage アニメに繋いだ矢印について解説します。

この矢印のインスペクター下部に Conditions があり、
そこに遷移条件として Parameter trigDamage を設定しています。

なお、この Parameter は一番左上の所で追加して、トリガー型のパラメーターとして作りました。

こうすることで、以下のようにプログラム側で animator.setTriger(“trigDamage”) とするとこの矢印の方向に遷移するようになります。

スクリプト上で Animator の取得は、GetComponent

アニメーションからアニメーションへの遷移

さらに、Damage アニメが終わったら、Wait アニメに自動に戻るというのは下図のように設定します。

矢印をつないで、Has Exit Time として、前のアニメの終了を待って次のアニメへとつながるようにしています。

他にも、前後のアニメのブレンド具合を具体的に調整することもできます。

終わりに

今回は、Unity のアニメーションコントローラーの機能について解説しました。
例えば、「登場アニメが終わったらループの Wait アニメにしておく」ということもこの Animator ビューを使えばコードを書くことなくできますね。

次回は、ドラゴンが死んだ後に新しいモンスターを生成する方法を解説します。

続きます。