[UE5]City SampleでMetaHumanを使う

MetaHumanは実在の人物そっくりの3Dキャラクターが作成できるサービスで、Unreal Editorなどにアセットとしてエクスポートすることが可能だ。

ただ、アニメーション定義がされていないので、実際にゲーム内で使用するには色々と準備が必要になる。グレイマンを操作するサンプルであれば各所にチュートリアル動画や説明があるので比較的スムーズに導入可能だが、とりわけ複雑怪奇な処理をしているCity Sampleとなると話は変わってくる。
やり方を以下に書いておく。

1. MetaHumanで人物を作成する

MetaHumanを使用開始するまでの流れは調べればすぐ出てくるので割愛するが、Epic Gamesアカウントと紐づけておくことを忘れずに。
また、自作キャラを保存する際、もし服のバリエーションを後で増やしたいのであれば、身長は三段階のうち、一番高くしておくことを推奨する。

2. Unreal Editorで取り込む

MetaHumanのモデルをダウンロードするにはBridgeというアプリケーションが必要なのだが、Unreal Editor5にはプラグインとして実装されている。
「Window」⇒「Quixel Bridge」を選択し、Epic Gamesアカウントでログインすると、MetaHumanセクションで自作したキャラが選択できるようになる。
Export Optionで「Medium Quality」を選択してダウンロード(かなり時間がかかる)

3. アニメーションをリターゲットする

キャラクターのダウンロードとプロジェクト追加が終わったら、
Content/MetaHumans/Common/Female/Medium/NormalWeight/Body
とたどって「metahuman_base_skel.uasset」を開く。
開いたら歯車マークを選択して「Show Retargeting Options」にチェックを入れる。

チェックを入れると以下のように表示が変わるので、「root」と「pelvis」を「Animation」、それ以外を「Skeleton」に設定して保存する。
※調べてもどこにも書いていないが、この作業が非常に重要。これをやらないと変換後のアニメーションで、何故か胴回りが異常に細くなりアメコミみたいなキャラになってしまう。

この後の手順はUE5の公式ドキュメントにも書いてあるが、IK RigとIK Retargeterを使用してアニメーションをリターゲットする。
任意のフォルダを作成し、そこで右クリックして「Animation」⇒「IK Rig」を選択し、対象SkeletalMeshは「SKM_PlayerFemale_Body」を選択。これがCitySampleのキャラ(変換元)になる。
もう一つIK Rigを作成し、こちらはMetaHumanのSkeletalMesh(変換先)を指定する。普通体形・長身でモデルを作っていれば「m_tal_nrw_body」になる。

それぞれRetarget Rootは「pelvis」を指定し、spine、頭、腕、足あたりをRetarget Chainで指定して保存。
フォルダで右クリックし「Animation」⇒「IK Retargeter」を選択、変換元と変換先のIK Rigを指定して保存。この際に2体並んだ状態でアニメーションがプレビューできるので、納得できるまでRetarget Chainを増やすと良い。

Unreal Editorのコンテンツブラウザで「ABP_Player_v2」を検索し、見つけたら右クリックしてRetarget Animation Assetを選択。
先ほど作成したIK Retargeterを選択し、「Retarget」をクリックすると、関連するアニメーションが変換される。
同じように「ABP_Player_Female_Body」も選択してアニメーションを変換する。

4. プレイヤーモデルを差し替える

CitySampleのプレイヤーキャラは「BP_CitySamplePlayerCharacter」に定義されているので、このモデルを丸ごと差し替える。順番は以下の通り。
①ComponentsのBody、Head、LODSyncをすべて削除する
②作成したMetaHumanのキャラのBPを開き、Functionsの「EnableMasterPose」と「ConstructionScript」を「BP_CitySamplePlayerCharacter」にそのままコピペする。
③作成したMetaHumanのキャラのComponents(Rootより下)を「BP_CitySamplePlayerCharacter」にそのままコピペし、Mesh以下で同じ階層となるように設定
④MeshのAnim Classを変換後の「ABP_Player_v2」、BodyのAnim Classを変換後の「ABP_Player_Female_Body」にすると正しくアニメーションが適用されているはず

5. 服装を差し替える

CitySampleはNPC用の服モデルが収録されているので、MetaHumanで指定できる服以外にもスーツ等を着せることが可能。
Componentsの「Torso」「Legs」「Feet」のSkeletalMeshを差し替えるだけだが、一部マテリアル設定がおかしいので手直しが必要。体格ごとにMeshが違うので注意。

この記事が気に入ったらサポートをしてみませんか?