Chapter 24

自作,購入キャラを操作する方法 (グレイマンと入れ替える)

daichi_gamedev
daichi_gamedev
2022.03.09に更新

https://www.youtube.com/watch?v=9WTeOS8TZXQ
今回はサードパーソンのグレイマンとオリジナルのキャラを入れ替える方法を紹介します。UE5を使用しますがUE4でも可能です。

①3Dモデルのキャラを用意する

前提としてリギング済みモデルという事で。リギングはリグ(ボーン)をモデルに入れる事です。リギングはBlenderやMixamoでできます。

マーケットプレイスやAssetStoreなどゲーム素材販売サイトで購入した場合、ゲーム用のモデルなら基本的にボーンが既に入っています

よくわからなくても、とりあえずマーケットプレイスやAssetStoreなどで購入したモデル、アニメーションで動くモデルであれば問題ありません

今回は例としてMixamoのモデルを使用します。

今回使用するモデルはMixamoのモデルを使用します。Mixamoで左上のCharacterを選択した状態でモデルを選択してDownloadします。

設定そのままでダウンロード。

②UnealEngineにモデルをインポートする

ドラッグ&ドロップでモデルをインポートします。

設定はそのままでImportをクリック。

色々とインポートされますがSkeltalMeshとSkeltonを確認しておきましょう。TextureとMaterialは見た目を決定するアセットです。

③ボーンを正しく認識させる

ここからは画像のモデルが変わりますが、同じ手順なので気にしないでください
ダウンロードされた中からスケルタルメッシュを開きます。

右上の設定からSkeltonを選択して、中央上のRetargetManagerを開く

SelectRigからSelectHumanoidRigを選択

ではUnrealEngineの人型ボーンの型にオリジナルキャラのボーンを割り当てていきます。

※AutoMapで自動で割り当てられるのはUnrealEngineのボーン名とオリジナルキャラのボーン名が完全に一致しなければ正しく割り当てられないのでこれは使用しません。

例えばpelvis(骨盤)という項目であれば今回は同じ位置にあるhips(腰)のボーンを選択します。Spine_01という項目にはSpine(脊髄)ボーンを割り当てます。これは大体で問題なく、該当するボーンなしでも、仮にボーンを間違えても動きます。正確なアニメーションを求めるのであれば該当するボーンに正しく割り当てる必要があるという事です。

Mixamoのボーン構造の例としては以下のようになります。

Mixamo以外のモデルは、名前を照らし合わせつつボーンを割り当てる必要があります。
showadvancedといって他のボーン(指先など)を割り当てる箇所がありますが、必須ではありません。ただし指先などはアニメーションが反映されません。

Show Advancedで全てのリグを設定する方法(必須ではありません)

showadvancedを開いて、また同じように設定していきます。

こちらはMixamoのモデルの例です↓それ以外は各々名前を照らしあわせつつ割り当てる必要があります。以下の設定にします。

これで全てのリグが適用されました。

Mixamoのボーンの既に割り当て済みデータを適用する方法

ここにmixamo用のボーンマッピングのデータを用意したので、これをダウンロードして適用します。
https://drive.google.com/drive/u/0/folders/1L7uc5FOUUT6dFrIAnLyvF7CC0D8AmfdB

bonemappingallをダウンロードします。

ダウンロードしたら、エクスプローラーでこのファイルをコピーしてエクスプローラーでそのプロジェクトのContent以下のフォルダにペーストします。

UE5のリターゲットマネージャーに戻ってloadから選択します。

これで全てのボーンが正しく適用されました。

④グレイマンのボーンを認識させる

次にグレイマンのボーンも認識させます。グレイマンのスケルタルメッシュを開いてリグを選択。

SelectRigからHumanoidを選択するとグレイマンは自動でボーンが適用されます。

⑤グレイマンのポーズをモデルのポーズと同じにする

MIxamoのモデルと、グレイマンのモデルの両方のポーズを一緒にします。基本的にはTポーズにするのがおすすめです。既にMixamoのモデルはTポーズになっています↓

なので、今回グレイマンのポーズをTポーズに直します。
腕の角度を50度変えます。角度はざっくりで構いません。

次は上から見つつ腕がまっすぐになるように30度曲げます。

最終的にグレイマンのポーズはこんな感じ。Mixamoのモデルのポーズに近くなりました。余裕がある方は足の角度や指先の角度を調整してさらに下のMixamoのモデルのTポーズによせてください。


では保存しましょう。ModifyPoseからUseCurrentPoseで保存

Mixamoのスケルタルメッシュを開いてPreview Meshからスケルタルメッシュを選択

ApplyToAssetをクリック。

⑤オリジナルモデル用にAnimBPをリターゲットする

グレイマンのアニメーションを管理しているAnimBPをオリジナルのモデルでも使用できるようにリターゲットします。
グレイマンのAnimBPを開きます。Mannequienフォルダの中にあります。
右クリックからRetarget Anim Blueprintsを選択。

オリジナルのモデルを選択した状態でRetargetをクリックします。

⑥グレイマンとオリジナルキャラを入れ替える

グレイマンのブループリントを開いて、Meshから変更します

Anim ClassをThirdPerson_AnimBPに変更する。名前がかぶっていますが下の方の奴です。

ずれている場合はモデルを適正位置に移動させます。Perspectiveから横視点にして調整します。

モデルとコリジョンの底があうようにします。

コンパイルします。

完成

そしてビューポートで再生して完成です。

参考

著者コメント✍🏻
お疲れ様でした。次回アニメーションの追加方法とか解説していきたいとおもいます。