Unityのアニメーターコントローラーの使い方

今回はUnityのアニメーターコントローラーの使い方をやってみます。
難しい制御はわからないのでごく基本的な事をやってみようと思います。

ではサンプルを作ってみます。

まずはAnimatorControllerを作成します。
ProjectsタブのAssetsエリアで右クリック→Create→AnimatorControllerを選択します。

アニメーターコントローラー1

上のようにAnimatorタブ内で右クリック→Create State→Emptyを選択し、名前を変更しIdleとAttackを作成します。

アニメーターコントローラのパラメータとしてAttackをTriggerで用意しておきます。
アニメーションパラメータはAnimatorのParametersを押し、+を押して新しいパラメータAttackを追加します。

アニメーターコントローラー2

上の画像ではAnyState→Attackとなっていますが、Idle→Attackです。
Has Exit Timeのチェックは外しておきます。

Has Exit Timeのチェックがされていないとすぐさま次のアニメーションへと遷移します。

アニメーターコントローラー3

Attack→Idleの時はHas Exit Timeにチェックを入れ、条件の指定は何もしません。
こうすることでアニメーションが終わってからIdleに遷移します。

キャラクターを用意しAnimatorコンポーネントをセットします。

スポンサーリンク

アニメーションパラメータをスクリプトで変更する

次にキャラクターに追加するスクリプトTestMoveEnemyとTestReceiveAttackを準備します。

アニメーションの遷移を確認するだけなので、最小のスクリプトの記述だけです。
デフォルトでFire1に設定されているマウスの左クリックを押すとAttackのアニメーションに遷移します。

TestReceiveAttackスクリプトはアニメーションクリップに設定したアニメーションイベントを受け取って実行するスクリプトなので
アニメーションイベントが設定されている必要があります。

アニメーションイベントに関しては

Unityのアニメーションイベントを使い、歩くアニメーションで地面に足を着いた時に足音を鳴らしたり剣を振っている途中で剣を振った時の音を鳴らしたりしたいと思います。

を参照してください。

アニメーションのブレンド

さきほどの遷移の際のアニメーションブレンドですが、それぞれ遷移先のアニメーションがすぐ再生されるようにしています。

濃い青色の部分が再生されるアニメーションで、Idle→Attackの場合はIdleのアニメーションとAttackのアニメーションをブレンドしながらAttackに遷移し後はAttackのアニメーションのみ再生されます。

アニメーターコントローラー4

上がさきほどのアニメーションブレンドの場合のIdle→Attackのアニメーションです。
ほとんどすぐにAttackのアニメーションに切り替わります。

アニメーターコントローラー5

横向きの矢印をAttackのアニメーションの最後の方に移動させると、IdleとAttackのアニメーションがなだらかにブレンドしながらAttackのアニメーションに遷移します。

アニメーターコントローラー6

上が結果です。

次に、Attackのアニメーションの最初の方は再生したくない場合があるとします。
右手の攻撃の後、左手の攻撃をするが右手の攻撃の部分を省略して左手の攻撃だけ採用したい場合

アニメーターコントローラー7

上のようにAttackを左にドラッグ&ドロップして移動させます。今回は50%移動しました。

アニメーターコントローラー8

上が結果です。あまりよくわからないですが・・・(^_^;)
Attackのアニメーションが途中からになります。

アニメーションのブレンドや割り込みについては

UnityのAnimatorControllerのアニメーションのブレンド方法や遷移の設定、Interruption Sourceの設定等を見ていきます。アニメーションの遷移途中で中断し次の状態へとうまく移行させる為のサンプルも作成します。

も参照してみてください。

これでアニメーターコントローラーが少し使えるようになりました。
実際はStateの中でも角度やスピードでアニメーションを切り替えたり(サブステート)、遷移の条件をいろいろ指定して複雑化していきますが、まずは出来る事をやってみました。

サブステートマシンに関しては

Unityのアニメーターコントローラーのサブステートマシンを使ってアニメーターの状態と遷移をわかりやすくしていきます

を参照してください。

スポンサーリンク

記事をシェアして頂ける方はこちら

フォローして頂くとやる気が出ます