【Unity】PlayMakerで遊んでみよう Vol.5 ~アニメーションの制御~

アニメーションの制御 Playmaker
アニメーションの制御

PlayMaker を使ってアニメーションを制御します。

アニメーションの制御

Animator の確認

今回使用しているモデルは、アニメーションが設定されているアセットになっています。
Speed_f に移動速度を設定すると、「歩く」から「走る」にアニメーションが遷移するようになっています。
また、Static_b に TRUE を設定することにより、アニメーションで移動しなくなります。
攻撃モーションはしないので、WeaponType_int や MeleeType_int は 0 にしています。

Player の Animator
Player の Animator
Speed_fPlayer の移動速度を設定する
Animation_intアニメーションの種類
今回は 0 固定
WeaponType_int武器の種類
今回は 0 固定
MeleeType_int近接攻撃の種類
今回は 0 固定
Static_bアニメーションで移動するかどうか
アニメーションでは移動しないので TRUE 固定

移動のアニメーション

状態遷移は 3つに分けました。

状態「Setup」

アニメーションで固定の値にするパラメータはここで設定します。
Set Animator int と Set Animator Bool アクションを使用しています。

状態「Setup」
状態「Setup」

状態「Idle」

入力がない時は特に何もしません。
移動していないので変数やパラメータは 0 に設定しています。

状態「Idle」変数とパラメータの設定
状態「Idle」変数とパラメータの設定

入力があれば MOVE イベントを発生させて、状態「Moving」に遷移します。

状態「Idle」入力検出
状態「Idle」入力検出

状態「Moving」

移動速度を計算してアニメーションのパラメータ Speed_f を更新します。

入力から移動速度の加算値 MoveSpeedAdd を計算します。

状態「Moving」入力値の計算
状態「Moving」入力値の計算

移動速度ベクトル MoveSpeed を更新します。
Deceleration で減速し、MoveSpeedAdd で加速しています。
MoveSpeedMax で移動速度の上限を決めています。
移動速度 Speed が更新できました。

状態「Moving」移動速度の計算
状態「Moving」移動速度の計算

移動制御は今まで通りです。

状態「Moving」移動制御
状態「Moving」移動制御

アニメーションのパラメータ Speed_f を更新します。
移動速度 Speed が 0.1 未満になったら、状態「Idle」に遷移させます。

状態「Moving」アニメーションのパラメータ更新
状態「Moving」アニメーションのパラメータ更新

まとめ

PlayMaker でアニメーションを制御しました。
Animator のパラメータを設定することにより、アニメーションを遷移させます。
1つの状態で使用するアクションの数が多くなると、何をやっているのか把握することが難しくなってきます。
なるべくシンプルになるように気を付けながら実装していきましょう。

アニメーションの制御
アニメーションの制御

コメント

タイトルとURLをコピーしました