今回は用意されている AnimatorController を利用しているため、Blend Tree の機能も最初から設定されています。
今後は自作していく必要もありますので、Blend Tree について確認しておきます。
Animator ビュー内にある Locomotion をダブルクリックしてください。
Blend Tree という機能内に移動します。
Animator ビュー内 Blend Tree
Blend Tree では通常のトランジション(遷移)のように、矢印で State 同士をつないでアニメの再生切り替えを設定しない代わりに
Blend Tree 内で設定をした
Parameterの値がどの値になっているかによって、アニメの再生の切り替えの設定を行うことが出来ます。
Blend Tree インスペクター画像
Blend Tree では、インスペクターにある Motion に条件を設定します。
このときに利用するのが、
Parameter の情報になります。
Blend Tree では、この Parameter の値が
Motion 内の各値と同期する設定になっています。
Blend Tree インスペクター画像
なお、Blend Tree の遷移先にも別の Blend Tree を設定することが可能です。
今回の AnimatorController は3つの Blend Tree を利用して移動と待機のアニメーションの遷移を制御しています。
Runs と Walks の Blend Tree をクリックするとインスペクターの情報が変わりますので、確認しておいてください。
では、Blend Tree による、アニメの制御を実際に試してみましょう。
Animator ビューの Blend Tree である Locomotion の中にある Speed の部分にあるバーを左右に移動させてみてください。
一番左側にあるとき、Speed の値は 0、一番右側にあるときは Speed の値は 1 になります。
バーを動かす際に Runs と Walks の Blend Tree を見ていると、バーが左端にあるときは Walks の方が明るくなっており、
バーが右側に近づくと今度は Runs の方が明るくなります。これは Speed の値を自動的に判断して、
Speed(移動速度)の値が一定値高くなると歩くアニメーションから走るアニメーションに切り替わるように制御が設定されています。
<検証動画 Blend Tree の機能の確認>
動画ファイルへのリンク
これが Blend Tree を利用したアニメの制御処理になります。
インスペクターも確認しておいてください。
次の手順では、このロジックを使った遷移の制御を、スクリプト使って切り替えるようにして、キャラの移動と移動のアニメーションとを紐づけしていきます。
以上でこの手順は終了です。
次は
手順10 −プレイヤーの移動と移動アニメの同期処理の実装− です。