アニメーションリターゲット後にキャラクターが浮く問題の修正

UE4→UE5でアニメーションをリターゲットした後、アニメーション中にキャラクターが接地せず浮いてしまう問題を修正しました。


↑このようにUE4のアニメーションをUE5にリターゲットした後、アニメーション中に足が接地しておらず、宙に浮いてしまう現象がよくありました。

アニメーションシーケンス

アニメーションシーケンスで修正します。AnimMontageでは不可。

スケルトンツリーのrootを選択します。

上メニューの「+キー」をクリックします。
追加のレイヤートラックに▼rootが追加されました。

レイヤートラックの▼rootの右の▼カーブをクリックして「カーブを編集」を選択。

root.Translation.Zを選択し、線をクリックすると値の入力が可能になります。
ここで-5とか-10とか、浮き具合に合わせて下げる調整。

反映のさせ方は2パターンあります。
アセット詳細を見ます。

1.アセット詳細のルートモーションにて、
EnableRootMotionのチェックを外す
Root Motion Root LockをRef Poseにする
Force Root Lockのチェックを外す

2.アセット詳細のルートモーションにて、
EnableRootMotionのチェックを入れる
Root Motion Root LockをAnim First Frameにする
※Force Root Lockは下記画像ではチェックを入れていますが、チェックなしでも機能しました。

プレイして確認すると、キレイに接地していました。

非常に気になっていたアニメーション中の浮きが解決できて良かったです。キャラクター毎にIKリグの設定を作り込まないといけないのかもと思っていましたが、アニメーションシーケンスの設定だけで解決できて一安心です。

コメント

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