こんにちは!ウンパッパです!
今回はUE5のアニメーションを流用するために
作った「オリジナルモデル」に「IK リターゲット(リグの共通化)」を行って
「アセットアニメーション」を流用できるようにするよ!
ここでは「UE5」機能である「IKリグ」と「リターゲット」の設定方法を主に解説するから
もし「スケルトンのセットアップから見たい!」と思ったなら下の記事をみていってね
- 【UE5向けに「Maya」で1からリギングする方法】
【UE5】UE5のアニメーションを流用できる!
オリジナルモデルにスケルトンをリターゲットしよう!その1【Maya】
- 【Maya以外の「クイックリグソフト」のまとめ紹介記事】
【現在鋭意制作中です!】
まず、最終的にはどうなるかを見てみよう!
しっかりロボットがアニメーションされてるね
このアニメーションはすべて「UE5」の「アセットアニメーション」なんだ
つまり
これが出来れば「アニメーションを作る時間」を省けて
ゲームの製作時間をグッ!っと短縮できるよ!
それでは早速既存のアニメーションを使いまわすために
「IK リグ」を設定しに行こう!
IKリグの作成(スケルトンの共通点を指定)
まずは共通化するための土台となる「IK リグ」を設定していくよ
ここでは「UE5 Mannequin」と同じように動かすため、共通点を探して関連付けるんだ
共通点を共有した結果、同じように動くんだね

まずは、オリジナルのキャラモデルをインポートしてね

そしたら、
「コンテンツ」の「何もない場所」を右クリックして
「アニメーション」⇒「リターゲッティング」⇒「IK リグ」を選択しよう

命名したら開いてね
これは「IK リグ」の画面
開いたらまずは画面右上の「preview Skelton Mesh」にオリジナルのキャラモデルを入れよう

いれたら「モデル」と「スケルトンの情報」が表示されるね

ここから「UE5 Mannequin」の共通点を設定していくよ
UE5 Mannequinと共通化について
これは「IK リターゲッタ」画面に映した「UE5 Mannequin」なんだけど
この中の「リターゲッティングチェーン」ってのが「共通化用の目印」なんだ

例えば、「オリジナルモデル」のジョイントに「Leftarm」の「目印」を仕込むと
同じ目印のついた「UE5 Mannequin」の「Leftarm」と同じ動きをしてくれる ってことなんだ
なので、同じ名前の「ジョイント」に両者同じ「目印」を貼って共通化
最終的には全身共有化して同じ動きを目指すってのが目標だよ
というわけで
早速全身に目印を貼り付けて行こう!
リターゲッティングルート(共通起点)の設定
まずは「リターゲッティングルート」を設定していくよ
場所は「pelvis(骨盤)」に設定しよう
「pelvis」を右クリックして「リターゲッティングルートの設定」を選択すればOKだ

うん、できたね!

「Retarget Root」を間違えるとどうなるか(rootに設定)
「Retarget “Root”」って書いてあるから「root」のジョイントにつけたくなるよね
でも、間違えて「root(原点)」に設定すると
画像のように地面にのめりこむようになるんだ
こうならないよう
設定した場所がしっかり「pelvis(骨盤)」であるか再度確認してみよう

チェインの設定(共通点の設定)
次に「pelvis」以外の全身のジョイントに「リターゲットチェイン」を設定しよう
例として「Spine1~3」を「Spineという枠組み」にチェインするよ
「Spine1~3」を選択して右クリックし「新しいリターゲティングチェーン」を選択

確認画面が出てくるので選択漏れが無ければ「チェーンを追加」

すると、画面左側にて
「Spine1~3」が「Spine」と設定されたね

これで背骨が「UE5 Mannequin」と共通化されたよ
この調子で全身共通化していこう!
まずは「指、clavice(鎖骨)、neck、head」以外を選択

選択できたら
リターゲッティングチェインを実行!

そしたら自動で識別してくれるから
次々と出てくる「確認画面」に
「チェーンを追加」を選択すればOKだ!

最終的にこうなればOKだよ

うん!一括で共通点を設定できたね!
ちなみになんで「neck~head」「Spine」「指」は後回しにしないといけないのかはこれが理由
自動識別でミスを犯してる…
「Spine」の項目なのに
「head」まで巻き込んで設定してるねどうやら
連続でつながっている階層のジョイントを
すべて1つの目印に入れてしまうみたいなんだ指も同様に「upperarm~middle_03」まで巻き込むから後回しにするんだ
また「clavice(鎖骨)」に関しては「共通化の項目に入ってない」から無視しても問題ないよ
次に「頭」と「指」を共通化していこう
チェインしたいものを選択して

リターゲッティングを実行

すると頭、右指を全部設定できるよ

その後は左指も同じように設定して
左右の指全てを設定できたら目印付けは完了!
画面右下に「目印の割り当て一覧」があるので
大体こんな感じに、割り当てたい目印とジョイントが大きく外れてなければOKだ!

IK 目標(コントロールリグ)を設定する
次に行うのは
キャラの動きを補助したり
編集する際により直感的にキャラクターを編集できる「IK 目標(コントロールリグ)」の設定だ
設定するジョイントは
「hand_l」「hand_r」「ball_l」「ball_r」だ

選択し終わったら「右クリック」⇒「IK 目標の新規作成」を選択

すると「IKの種類」を聞かれるので「フルボディIK」で「ソルバを追加」

追加したら
4回ほど割り当ての確認画面が出てくるので、すべてに「目標の割り当て」

出来たら設定したジョイントの下に「_Goal」と名のついた
「IK」用のアイテムが生成されてて
プレビュー画面では該当の場所に黄色い立方体が表示されるよ!
四つ全部確認出来たらOK!
これで「IK 目標」の設定完了だ!
ちなみに足のIKは
「足首(foot_l/r)」でも問題ないみたいだけど
「UE5 Mannequin」が「つま先(ball_l/r)」にしてるから
それにならって「つま先(ball_l/r)」にしているよ
IKのリターゲット(アニメーションを流用)
アニメーションを流用する方法は2つあるよ
まずはその2つを解説する前にセットアップしに行こう!
「レベルエディタ」の「コンテンツブラウザ」にて
なにも無い所を右クリックして
「アニメーション」⇒「リターゲッティング」⇒「IK リターゲッティング」を選択

すると「IK リターゲッタ」が生成されるのでダブルクリックして開こう

これが「IK リターゲッタ」の画面

早速アニメーションの流用をするために
「ソース(共有元)」に「UE5 Mannequin」を
「ターゲット(共有先)」に「オリジナルモデル」を入れよう

モデルが重なってて見ずらいから「オリジナルモデル」を横にずらすよ
画面上にあるキャラモデルを選択したら
「詳細」⇒「Target Mesh Offset」に値を入力して横に移動しよう

これでOK!
適当なアニメーションを画面右下の「アセットブラウザ」から選択して動きを確かめてみよう!

うん!同じ動きをしているね!
次に、「Root」の設定をいじりに行こう
画面右下「チェーンマップ」から「Root」を選択し
「詳細」⇒「FK」⇒「平行移動モード」を「Globally Scaled」に変更しよう

出来たらこれで
アニメーションの流用のセットアップは完了だ!
ちなみに「Globally Scaled」にしないとどうなるか?
「座標が移動するアニメーション」にて
「Force Root Lock」や「Enable Root Motion」を押しても止まらなくなるんだ
これだとアニメーションには使えないね
アニメーションの「Force Root Lock」 を外そう
アニメーションを流用する前に流用予定のアニメーションの
「Force Root Lock(座標を固定する機能)」や「Enable Root Motion」のチェックを外そう

「Lock Root」 を外さないとどうなるか?
アニメーションがおかしくなったり
軸がおかしくなってモデルが地面にすっ転んだりするよ
「Force Root Lock」 や「Enable Root Motion」は外してからアニメーションを流用しよう
その1:選択したアニメーション「だけ」を使いたい場合
アニメーション流用の方法その1
特定のアニメーションを流用したい場合は
画面右下「アセットブラウザ」の上部にある「選択したアニメーションをエクスポート」を使おう!

選択したら保存先の指定が出るから
保存先を決めて「エクスポート」

すると「流用されたアニメーション」がエクスポートされるんだ!
これで「オリジナルキャラ」のアニメーションとして使えるよ!
やったね!
その2:アニメーションBPを流用したい場合
アニメーション流用の方法その2
今まで組み立てた「アニメーションBP」をまるまる使いまわしたい場合はこの方法を使おう
まずは「コンテンツブラウザ」から
今使っている「アニメーションBP」を右クリックして
「アニメーションアセットのリターゲッティング」⇒
「アニメーションアセット/ブループリントを複製してリターゲッティング」

選択すると設定ウィンドウが出てくるので
①作った「IKリターゲッタ」を設定
②保存場所を設定
③リターゲットを実行
を行おう

実行できたら流用された「アニメーションBP」と「アニメーション」が指定した保存先に生成されるよ

ここまで来たらあと少しだ!
このまま「アニメーションBP」を「BP」に組み込んでもまともに動かないので
不具合のもとを修正していこう
「アニメーションBP」を流用できたらまずは「名前」を変える
流用前と同じ名前だから間違えて設定してしまう可能性があるよ

次にABPを開いて
「AnimGraph」から「Control Rig」を外そう

じゃないとおかしな挙動になってしまうよ
「Control Rig」がついた場合の挙動
「アニメーションBP」内だとまだ「IK 目標」を認識してないから動きに不具合が起こるんだ
結果、お尻で動いてる感じで面白くなっちゃうよ
後は今まで「Force Root Lock」を外してきたアニメーションに
「Force Root Lock」を付ける

これで修正完了!
最後に「BP」に適応している「アニメーションBP」を
流用後の「アニメーションBP」にする

出来たら早速プレイしてみよう!
うん!しっかりアニメーションができてるね!
アニメーションの流用、完了だ!
やったね!!!
おまけ:その他よく使う機能紹介
ここだったのか!って機能をメモした場所
IK リターゲッタの「ターゲットモデル」を横に移動
初期設定だと「ソースモデル」と「ターゲットモデル」が重なってしまう状況を
「ターゲットモデル」の横移動によって解決してくよ
場所は
モデルを選択した後の「詳細」にて
「Preview Setting」⇒「Target Mesh Offset」に値を入力すれば移動するぞ

スケルトンを非表示
スケルトンを非表示にしたい場合は
プレビュー画面にて「キャラクター」⇒「ボーン」⇒「なし」を選択だ

「IK目標(コントロールリグ)」の非表示
IK目標の非表示は
「IK リグ」「IK リターゲッタ」で場所が違うよ
「IK 」では
モデルを選択した後の「詳細」にて
「ビューポート目標設定」⇒「Draw Coals」を選択すればOKだ

「IK リターゲッタ」では
モデルを選択した後の「詳細」にて
「ビューポート目標設定」⇒「Draw Coals」を選択すればOKだ

UE5でコントロールリグを適応する
足場を細かく判定して踏んでくれる「コントロールリグ」については
次の記事にしたいと思うよ!
よかったら見て行ってね!
【現在鋭意制作中です!】
コメント