Unreal Engine(UE)でプレイヤーをMetaHumanに切り替えよう!
方法はいくつかありますが、今回はサードパーソンをベースにして、MetaHumanに置き換える方法を初心者向けに解説します!
動作環境
当記事の動作環境は以下の通りです。
バージョンや環境によっては、正常に動作しない可能性があります。
また、プロジェクトはサードパーソンプロジェクトの使用を前提とします。
MetaHumanとは?
UEで使用可能なキャラクターの一つで、人間型キャラを無料で使用することができます。
既存のキャラクター以外に、キャラを自作することも可能です。
リアリティのある人間を作れる点が特徴で、本物と見間違うほど人間そっくりです。
ロボットを人間の容姿に近づけていくと、ある一定の度合いに到達すると突然強い嫌悪感を感じる「不気味の谷現象」というものがあります。
しかしメタヒューマンは、この現象が発生しない程度のリアリティになっています。
MetaHuman公式サイト:https://metahuman.unrealengine.com/
MetaHumanを操作キャラクターにする方法
いくつか方法がありますが、当記事ではサードパーソンをMetaHumanに置き換える方法をご紹介します。
MetaHumanのダウンロード
メタヒューマンをプロジェクトで使えるようにします。
まずはMetaHumanをダウンロードし、プロジェクトに追加します。

メニューから「ウィンドウ」-「Quixel Bridge」を選択してQuixel Bridgeを開きます。
※Quixel Bridgeは廃止されることになったためUEへのインポート方法は変わる可能性があります。
「MetaHuman Presets」から使用したいキャラクターを選択します。
自作キャラを使用したい場合は「My MetaHumans」からキャラを選択します。
キャラを選択後、「Download」をクリックします(少し時間がかかります)。
ダウンロードが完了したら、「Add」ボタンをクリックすることでプロジェクトにMetaHumanを追加できます。

MetaHumanをプロジェクトに追加すると、環境によってはプラグインが無いという警告が表示されることがあります。
不足しているプラグインを有効化してください。

コンテンツブラウザにて、「MetaHumans」フォルダを開きます。
「(追加したキャラ名)」フォルダ内にある「BP_(追加したキャラ名)」というブループリントを複製します。
複製した方のブループリントを開きます。

MetaHumans
(追加したキャラ名)
BP_(追加したキャラ名)
※当記事では「Bernice」というキャラを使用します。これ以降の図や説明での「Bernice」は追加したキャラ名に各自置き換えてください。
ブループリントを開くと、環境によってはプラグインが無いという警告が表示されます。
不足しているプラグインを有効化して、再起動してください。
MetaHumanブループリントの作成
再起動後、複製した方のブループリントを開きます。

クラス設定を選択し、詳細欄のクラスオプション - 親クラスに「BP Third Person Character」を設定します。

BodyをMeshの下の階層にドラッグアンドドロップで移動させます。

Rootは不要になるので削除します。
ここで一度コンパイルします。エラーが出るはずなので、エラー内容をクリックします。

コンポーネントのMeshを、Targetに接続します。


Body以下のコンポーネントのトランスフォームを調整し、サードパーソンとメタヒューマンが同じ方向に向くように調整します。
通常は全て0に設定します。

マイブループリント内にあるLive Retargetの「Use Live Retarget Mode」を選択します。詳細欄に「Use Live Retarget Mode」があるのでチェックを入れます。
マイブループリント内にある関数からLiveRetargetSetupをダブルクリックします。

ブループリント処理内にある「Get original anim mode and possible anim class」の中から「RetargetAnimClass」という変数を選択します。詳細欄にRetarget Anim Classという欄があるので、ブラウズボタンを押下してコンテンツブラウザでの該当クラスを表示します。

前STEPでブラウズされた場所には、IKリターゲッターがあるはずです。
そのIKリターゲッターを複製します(Windowsの場合はCtrl+Dでショートカット操作可能)。
IKリターゲット設定
前の章で複製した方のリターゲッターを開きます。

ソース欄について、以下の通り設定します。
・Source IKRig Assetを「IK_Mannequin」に設定。
・Source Preview Meshを「SKM_Quinn」に設定。

チェーンマッピング欄からRootを選択します。
Root設定 - FK - 平行移動モードを「Globally Scaled」に設定します。

メニューにある「リターゲティングポーズを編集」を選択します。

キャラクター - ボーン - 全ての階層を選択肢、表示されているマネキンの四肢が同じ角度になるように、位置や角度を調整してください。
ここまで出来たらIKリターゲットは編集終了です。保存してウィンドウを閉じます。
アニメクラスの設定

2つ前の章でブラウズされた場所には、IKリターゲッターの他にアニメーションBPもあるはずです。
それを開き、アニメーションクラスを表示します。

IKRetargeter Assetに、前章で作成したIKリターゲットを設定します。
ここまで出来たらアニメクラスは編集終了です。保存してウィンドウを閉じます。
再びブループリントを編集
MetaHumanのブループリントに戻ります。
コンポーネントでBodyを選択した状態で、以下を設定します。
Animation Mode:User Animation Blueprint
Anim Class:作成したアニメーションブループリント

コンポーネントでMeshを選択した状態で、詳細欄から「visib」と検索して以下を設定します。
レンダリングの「Visible」:チェックを外す
最適化の詳細設定で「Visibility Based Anim Tick Option」:Always Tick Pose and Refresh Bones

コンテンツブラウザにて、「ThirdPerson」-「BluePrints」-「BP_ThirdPersonCharacter」を開きます。
BP_ThirdPersonCharacterのイベントグラフを全てコピーして、複製した方のメタヒューマンブループリントのイベントグラフに貼り付けます。
ThirdPerson
BluePrints
BP_ThirdPersonCharacter
WorldSetting設定
メニューから「ウィンドウ」-「ワールドセッティング」をチェック状態にします。
ワールドセッティング欄が表示されるので、以下のように設定します。
ゲームモードオーバーライド:BP_ThirdPersonGameMode
Default Pawn Class:作成したキャラクターブループリント

完成!
これで完成です。
もしうまくいっていない場合、どこか手順に抜けがあったり設定ミスがある可能性があります。
手順が多いので、一つ一つ確認してみてください。