Advanced Locomotion System V4 – BaseLayer

開発情報

BaseLayerの全体像

BaseLayerによって、そのキャラクターの通常状態でのアニメーションを決定します

例えばそのキャラクターが武器を持ったり傷を負ったりするとアニメーションが変化するような仕様の場合、それらはここでは計算しません。

BaseLayerは4つのグループからできています。以下、それぞれのグループを見ていきます。

Natural Standing States & Crouching Left Forward States

BaseLayerの左側の2つは、立ち状態と座り状態の基本ポーズを決定するグループです。

ここでは立ち状態の構成(Neutral Standing States)を見てみます。下側のステートマシンから見たほうが理解しやすいので(N) Locomotion Statesから見ていきます。

(N) Locomotion States

Not Moving(待機)、Moving(移動)、Stop(立ち止まる)、Rotate Left/Right 90(90度向き移動)のステートがあり、このステートマシンの結果が基本ポーズになります。

(N) Not Moving

待機状態のときは立ちポーズを再生します。

カメラを回転すると、その場で向きを変えるTurnInPlace系のアニメーションが[(N) Turn/Rotate]スロットに挿入されます。[Modify Curve]ノードによってRotate AmountのAnim Curvesを補正することで、きちんとカメラの向きにキャラが向くようにしています。

これらの向きを変える判定処理はTurnInPace関数にて行っています。

(N) Moving

UpdateGraph側でShoudMoveフラグが立つと移動中のステートに移ります。

その中身は”(N) Locomotion Detail”のポーズを受け取ります。

(N) Stop

停止ステートでは、停止時にアニメーションの状態が地に足が設置しているかどうかで挙動が変わります。

歩行時のアニメーションには”Feet_Position”というAnim Curvesが仕込んであり、両足接地時が0.0、右足を上げている時は1.0、左足を上げている時は-1.0になるように値が変化します。

分岐した先が、足が接地している際の”Lock Left Foot”と”Lock Right Foot”の場合は、”‘(N) Locomotion Detail”のポーズを使用しつつ、接地している方の足の”Foot Lock L(R)”というAnim Curvesを設定します。

次に分岐した先が、足が接地していない際の”Plant Left Foot”と”Plant Right Foot”の場合は、下図のようになります。

赤線で囲われた部分は”Lock Left Foot”と同様ですが、宙に浮いている足のブレンド処理が追加されています。

(N) Locomotion Detail

(N) Locomotion Cycles

 

Main Grounded States

Main Movement States