Unreal Engine 5で、ベースとなるアニメーションに異なるアニメーションを加算する、エイムオフセットの作り方です。
ここでは「歩行」と「待機」をブレンドスペースで合成したアニメーションに、エイムオフセットで「下半身の回転」を加算します。
エイムオフセットの概要
エイムオフセットはブレンドスペースと似ていますが、グラフには加算セッティングを設定したアニメーションシーケンスしか配置できません。
加算セッティングを設定したアニメーションシーケンスをグラフに配置して、プレビューポイントを動かすと、加算されるアニメーションの合成結果を確認できます。
また、「アセット詳細」の「加算セッティング」に「Preview Base Pose」を設定すると、設定したアニメーションに、エイムオフセットでの合成結果を加算したアニメーションを確認できます。
ブレンドスペースの作成
ブレンドスペースについては作り方の詳細は省きますが、エイムオフセットでアニメーションを加算する対象として、キャラクター速度によって「歩行」と「待機」が切り替わるように設定します。
ブレンドスペースの作り方は、以下の記事で詳しく紹介しています。
アニメーションシーケンスの作成
エイムオフセットに使うための、1フレームだけのアニメーションシーケンスを作成します。
この1フレームのアニメーションシーケンスと、「Base Pose Animation」に設定したアニメーションシーケンスの差分が、エイムオフセットで加算されます。
アニメーションの編集
シーケンサーで、「Base Pose Animation」として利用する「歩行」アニメーションに、下半身の回転を追加したアニメーションを作成します。
レベルシーケンスを開く
- 「アウトライナー」でレベルシーケンスを選択
- 「詳細」の「レベルシーケンスを開く」をクリック
セクションの追加
元のアニメーションのキーをコピーして編集しても良いですが、Additiveセクションを追加して編集すると、エイムオフセット追加後の一連のアニメーションを再現しやすくなります。
- 「シーケンサー」で、セクションを右クリック
(右クリックしたセクションの下に、新しいセクションが追加される) - 「セクションを追加」の「Additive」を選択
キーの追加
「歩行」アニメーションと追加したセクションだけをアクティブにした状態で、追加したセクションにキーを追加します。
- 最初のフレームを選択
- コントロールリグを操作してポーズを作成してキーを追加
- 追加したキーを選択して、Ctrl+Cキーでコピー
- 最後のフレームを選択して、Ctrl+Vキーでペースト
アニメーションシーケンスのベイク
「歩行」アニメーションと、「歩行」アニメーションの下半身を左右に回転したアニメーションの1フレーム目をそれぞれベイクし、3つのアニメーションシーケンスを作成します。
- シーケンサーで、再生範囲を1フレーム目のみに変更
- シーケンサー内のコントロールリグを右クリック
- 「アニメーションシーケンスをベイク」を選択
- 保存するフォルダを選択
- ファイル名を入力して「OK」をクリック
- デフォルト設定のまま「アニメーションシーケンスにエクスポート」をクリック
アニメーションシーケンスの設定
作成したアニメーションシーケンスを開き、「Base Pose Animation」を設定します。
- 「アセット詳細」の「加算セッティング」で、「Additive Anim Type」に「Mesh Space」を選択
- 「Base Pose Type」に「Selected animation frame」を選択
- 「Base Pose Animation」に「歩行」アニメーションを選択
- 「Ref Frame Index」に0を設定
アニメーションシーケンスの作り方は、以下の記事で詳しく紹介しています。
エイムオフセットの作成
下半身の方向によって、作成した3つのアニメーションシーケンスを切り替えるエイムオフセットを作成します。
アセットの作成
エイムオフセットのアセットを作成します。
- 「コンテンツブラウザ」でフォルダを選択
- 「追加」をクリック
- 「アニメーション」の「アニメーションオフセット」を選択し、「スケルトンを選択」ウィンドウを開く
※エディタ内ではエイムオフセットがアニメーションオフセットに変更されていますが、公式アナウンスが見当たらないので、この記事ではアニメーションオフセット=エイムオフセットとして説明します。
- 開いたウィンドウで、アニメーション作成に使用したコントロールリグに設定しているスケルトンを選択し、アセットを作成
アセットの設定
作成したアセットを開き、エイムオフセットの設定を行います。
- 「アセット詳細」で、「Axis Settings」の「水平軸」の項目(「Name」、「Minimum Axis Value」、「Maximum Axis Value」)を設定
- 「アセット詳細」で、「加算セッティング」の「Preview Base Pose」に「歩行」アニメーションを設定
- 「歩行」の1フレーム目のアニメーションシーケンスを、グラフの中央に配置
- 下半身を右回転、または左回転した「歩行」の1フレーム目のアニメーションシーケンスを、それぞれグラフの右端、左端に配置
設定後のプレビュー
プレビューで、横軸の値によって下半身が回転することが確認できます。
これで、このエイムオフセットを「歩行」アニメーションに加算すると、下半身を回転した「歩行」アニメーションになることがわかります。
アニメーションブループリントの変更
キャラクターのアニメーションブループリントを開き、Anim Graph内の歩行時に実行するステートに処理を作成します。
Anim Graphの作成
歩行時に実行するステートで、ブレンドスペースの合成結果に、エイムオフセットでアニメーションを加算する処理を作成します。
- 「Blendspace Player」で、キャラクターの移動速度に合わせて、「歩行」と「待機」を合成したアニメーションを作成
- 「AimOffset Player」で、キャラクターの下半身角度に合わせて、下半身の回転のアニメーションを作成して加算
- 「Output Animation Pose」で、合成したアニメーションを出力
キャラクターの移動速度と下半身角度は、別途イベントグラフで計算して変数に格納した値です。
これで、キャラクターを動かしたときに、移動速度と下半身角度に合わせたアニメーションが再生されます。
以上です。
コメント