キャラクターを動かしてみたくなったので、いきなり高度なことに挑戦してしまった・・・なお、UE4とUE5ではやり方がまったく異なる。(UE4の動画みた時間・・・)
参考動画
UE5でのアニメーションの流用方法について【Compatible Skeletons, IK Retargeter】 - YouTube
※後半グダグダ動画だが、手順通りにやったらできた
IKRigを作る
①コンテンツブラウザを右クリック、アニメーションのIKRigを選択
右のインポート済みスケルトンでどのスケルタルから作るか指定(流用先を指定)
②リターゲットのルートボーンに対して右クリック
チェックリターゲットルートを選択
③どこが頭、手足かをリターゲットチェインに登録
新しいチェーンを追加する
chain name にspine,どこからどこまでが背骨か指定
以下同
LeftArm
LeftArm
RightLeg
LeftLeg
Headはクビ、頭を指定
ボーンを複数選択して右クリック、newRetargetChainfromSelectedBoneを選択で指定することもできる
IKリターゲッタを作る
①コンテンツブラウザを右クリック、アニメーションのIKRetargeterで流用元を選択
②さっき作ったIKRigをTargetIKRigAssetに指定する
③アセットブラウザでアニメーションをダブルクリックしテスト
※ReTargetphasesのチェックを確認する
フルボディIKを設定する
さっきのIKRigを開き、ボーンの階層のところで作業
骨盤に当たるボーンを右クリック、選択されているソルバにルートボーンを設定(SetRootBoneonSelectedSolver)を選択
左手のボーンを右クリック、IK目標の新規作成(NewIKGoal)を選択
以下、右手、左足、右足にもIK目標の新規作成を行う
IKリターゲッティングのところで作業
前の③で作ったリターゲットチェインのIK目標で、今作ったIKGoalを指定する
※上のIKRigをつくる流れでこれもやったほうがいいかも
デフォルトポーズを合わせる
ポーズの編集ボタンを押し、IKリターゲッタを開き、流用元のデフォルトポーズと流用先のデフォルトポーズをざっくり合わせる
ブループリントクラスをつくる
コンテンツブラウザを右クリック、ブループリントクラス→Characterを作成
ビューポートタブで左上のMesh(CharacterMesh)を押し、メッシュに流用元のメッシュを指定
その下層にスケルタルメッシュを追加(コンポーネントの追加ボタン)
流用先のメッシュを指定、オブジェクトが重なっていたら位置を調整する
流用元をクリックし、アニメーションモードをアセットにしてアニメーションを指定
Animブループリントをつくる
コンテンツブラウザに戻って流用先のスケルタルメッシュを右クリック、作成→Animブループリント。でダブルクリックで開く
右クリックでノードを追加、メッシュからポーズをリターゲット(ReTargetPosefromMesh)を指定
出力ポーズにつなぐ
※このノードに対して流用元を指定することでも同じことができると言っていたが、そのやり方の説明はなかった(楽するためにもにゃもにゃ・・)
AnimClassを設定
コンテンツブラウザに戻ってさっき作ったブループリントクラスを開き、流用先を選択、AnimClassを先ほど作成したAnimブループリントに設定
シーンに配置する
コンテンツブラウザに戻ってブループリントクラスをシーンにドラッグアンドドロップで配置。再生ボタンを押すと2人で走りだす
※ボーンの構造、特に手足とそれを受ける骨盤、鎖骨の構造が合ってないと、IKをつかうとアニメーションが破断する。
↑IKリターゲッタでReTargetIKオフ、↓IKリターゲッタでReTargetIKオン