Advanced Locomotion System V4 – アニメーションカーブによるブレンド制御

開発情報

アニメーション カーブによるブレンド制御

仕様

ALSv4ではブレンドのウェイト値を指定する際に、多くの箇所でアニメーションカーブの変数を使用しています。

アニメーションシーケンスアセットは、もともとモーフィングやマテリアルパラメータのためにカーブを追加する機能があります。

このパラメータを-1 ~ 1の範囲で設定し、各アニメーションシーケンスにブレンド用のプロパティとして持たせているようです。

実装

わかりやすい例として、キャラクターの通常状態のアニメーションに対して、銃を持っているポーズをブレンドする処理を調べてみます。

まず銃のポーズ用アニメーションシーケンスを見てみると、フレーム毎にポーズが切り替わるようなアニメーションが用意されています。
また、アニメーションカーブがたくさん追加されており、すべてのフレームにキーが打ってあります。

次に、このポーズを使用している箇所を見てみます。

通常モーションとブレンドする箇所を見てみると、体の部位ごとにブレンドしていることがわかります。

各部位に対応したアニメーションカーブの値をウェイトとして使うことで、どの部位をブレンドするのか決めることができます。

アニメーションカーブを使ってどの部位をブレンドするか管理している

また、アニメーションシーケンスのタイム毎にポーズが違った理由としては、現在の姿勢によってどのポーズを参照するか、タイムを指定することで選択しているようです。

参考