UnrealEngineのALSの歩く・走るアニメーションを実際に変更した

前回のUnrealEngineのALSの歩く・走るアニメーションを変更する方法で変更する方法はわかったので実際に変更する作業を行いました。(備忘)

大まかな流れ

  1. 差し替えたい新規アニメーションをリターゲット→AnimMan用にエクスポート
  2. ルートモーションが切れずに苦戦
  3. 歩くブレンドスペースを差し替えただけでは上半身しか変更されない。
  4. FootIKをOFFにしてみたら動いた。
  5. 調子に乗ってジャンプも差し替えてみた。

 

① リターゲット対象はALS_AnimMan

新規で差し替えたいアニメーションを差し替えるに当たり、新しい目的のスケルトンにアニメーションをリターゲットして、アニメーションをエクスポートしますが、リターゲットの対象はALS_AnimManでした。

ALS_AnimManがUE4のマネキンをベースにしているとの前情報を入れていたので、UE4マネキンでリターゲットしてアニメーションを作成すると、ALSのブレンドスペースを差し替えるときに、候補のアニメーションファイルが検出されませんでした。

そこでALS_AnimManでリターゲットし直すと、ブレンドスペースで選択できるアニメーションの候補に新しくリターゲットしたアニメーションが選択できるようになりました。

 

 

② リターゲットしてエクスポートしたアニメーションのルートモーションが切れない

無事にブレンドスペースにアニメーションのを指定できるようになりましたが、ルートモーションが切れずにキャラクターの移動プラスルートモーションの移動が混ざり不自然な走る動きになってしまいました

結果的には、リターゲットする際に、ルートボーンもチェーンマッピングに追加して、マッピングする必要がありました

アニメーションファイルをダブルクリックで開いたときのアセット詳細でのEnableRootMotionのチェックを何度ONOFFしてもルートモーション止まらず、はてな?と小一時間悩みました。

 

③ ALSのブレンドスペースを入れ替えただけでは上半身しか変更されない

前回のUnrealEngineのALSの歩く・走るアニメーションを変更する方法でノードを変更すればアニメーションが差し替えられると以下の説明のように説明しましたが、実際にやってみると、上半身のみのアニメーションが変わり下半身は反映してくれませんでした。

ALS_AmimBP → BaseLayer → (N) Locomotion Cycle → (N) Locomotion Cycle(ステート) → アニメーションブレンドスペースが縦に6個並んだノードがある。

実際に6個並んだブレンドスペースの前方方向への移動のノードのアニメーションを差し替えました結果は下のTwitterXの埋め込み動画のような結果となりました。

 

 



 

 

④ FootIKの接続を切ると足もアニメーションした。

ALS_AnimBP内のアニメーショングラフのFootIKの接続を切ってコンパイルすると上記のTwitterXの動画の用に足も差し替えた新しいアニメーションになってくれました。

 

⑤ ジャンプはすっと差し替えられた

ついでにジャンプも変更しましたがノードを複製して指定したアニメーションファイルを変更するだけで特に問題なく動作しました。

ジャンプの差し替え方法

ALS_AnimBP → AnimGraph → BaseLayer → Main Movement Statets → Jump → Jump States → Jump Left Foot もしくは Jump Right Foot → ALS_N_JumpWalk_FL

ALS_N_JumpWalk_FLに格納されているノードのアニメーションを差し替え → ノードをBlendのAにつなぎなおす。

 

 

 



 

 

 

コメント

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