このチュートリアルでは、ランタイム時に Unreal Engine 5 マネキン (Quinn) のアニメーションを MetaHuman にリターゲティングして、その MetaHuman をレベル内でプレイアブル キャラクターとして使用する方法を説明します。
このチュートリアルでは、IK リグの脚の配置機能を使用します。アニメートされた MetaHuman の脚は、テレインに動的に適合されます。
必要な知識と設定
このページでは、Unreal Engine の アニメーション ブループリント の基本的な知識があることを前提としています。
このページで説明している手順を実行するには、以下を実行する必要があります。
-
「サードパーソン」テンプレート に基づいて新しい Unreal Engine プロジェクトを作成する。この手順の実行方法については、Unreal Engine 5 ドキュメントの以下のページを参照してください。
-
MetaHuman をダウンロードして、プロジェクトにインポートする。この手順の実行方法については、以下のページを参照してください。
ワークフロー
このワークフローは、次の手順で構成されています。
- コントロール可能な MetaHuman ブループリントを作成します。
- 新しいアニメーション ブループリントを作成して、設定します。
- コントロール可能な MetaHuman ブループリントの設定を完成させます。
- Quinn メッシュを非表示にします。
- ゲーム モード ブループリントでデフォルトの Pawn クラスとして MetaHuman を設定します。
コントロール可能な MetaHuman ブループリントを作成する
まず、コントロール可能な MetaHuman ブループリントを作成します。このブループリントで、このチュートリアルが終了するまでに、レベル内のプレイアブル キャラクターである Quinn をどのように MetaHuman に置き換えるかを指定します。
以下のワークフローでは、2 つのブループリント エディタを切り替えて使用する必要があります。手順を実行する前に、適切なブループリント エディタが表示されていることを確認してください。
次の手順を実行します。
-
コンテンツ ブラウザ で、
BP_ThirdPersonCharacter
ブループリント クラスを検索します。このブループリントは、「Content/ThirdPerson/Blueprints
」フォルダに格納されています。 -
BP_ThirdPersonCharacter
ブループリントを右クリックし、コンテキスト メニューから [Duplicate (複製)] を選択します。 -
複製したブループリントに「
BP_MetaHumanCharacter
」という名前を付けます。 -
BP_MetaHumanCharacter
ブループリントをダブルクリックして ブループリント エディタ で開いて、[Viewport (ビューポート)] タブに切り替えます。新しく作成された BP_ MetaHuman キャラクター ブループリントは、現時点では引き続き Quinn スケルタル メッシュを使用しています。次の手順でそれを変更します。
-
コンテンツ ブラウザ に戻って、MetaHuman のブループリントを検索します。このブループリントは、「
Content/MetaHumans/(MetaHumanName)
」フォルダに格納されており、「BP_(MetaHumanName)
」という名前が付いています。このチュートリアルでは、「
Content/MetaHumans/Ada
」に格納されている Ada プリセットを使用しており、「BP_Ada
」という名前が付いています。BP_Ada
ブループリントをダブルクリックして、ブループリント エディタで開いて、[Viewport (ビューポート)] タブに切り替えます。 -
BP_Ada
ブループリントで、Root コンポーネントの下にある次の すべて のコンポーネントを選択します。- Feet (足)
- Legs (脚)
- Torso (胴体)
- Face (顔)
- 髪
- まゆ毛
- Fuzz (うぶ毛)
- まつ毛
- Mustache (口ひげ)
- Beard (あごひげ)
複数のコンポーネントを選択するには、選択したい最初のコンポーネントをクリックします。次に、Shift キーを押したまま、選択したい最後のコンポーネントをクリックします。
Ctrl + C キーボード ショートカットを使用して、選択したコンポーネントをコピーします。
-
BP_MetaHumanCharacter
ブループリントに切り替えます。[Components (コンポーネント)] パネルで、Mesh (CharacterMesh0) コンポーネントをクリックし、Ctrl + V キーボード ショートカットを使用して、前の手順でコピーしたコンポーネントを貼り付けます。 -
前の手順に引き続き、[Components] パネルで、先ほどコピーした コンポーネント を選択して、クリックしてドラッグし、Mesh (Character Mesh) コンポーネントの親に設定します。
-
前の手順で移動した コンポーネント をクリックしてドラッグし、該当する Mesh コンポーネント の親に設定します。完成した階層は次のスクリーンショットのようになります。
すべてのコンポーネントに適切な親が設定されている限り、このウィンドウのコンポーネントの順序は重要ではありません。
-
Body、Legs、Feet、Face および Torso の各コンポーネント (1) を選択します。次に、[Details (詳細)] パネルで、[Transform (トランスフォーム)] セクションに移動します。[Location (位置)] と [Rotation (回転)] の値の横にある 2 つの リセット ボタン (2) をクリックして、これらの値をゼロにリセットします。
画像をクリックするとフルサイズで表示されます。
連続していない複数のコンポーネントを選択するには、Ctrl キーを押したまま、選択したいそれぞれのコンポーンネントを左クリックします。
ブループリントでは、Quinn メッシュが Ada と重なったままになっています。次の手順でそれを修正します。
新しいアニメーション ブループリントを作成する
次に、アニメーション ブループリントを作成し、リターゲティングします。次の手順を実行します。
-
前のセクションに引き続き、
BP_ThirdPersonCharacter
ブループリントの ブループリント エディタ で、Body コンポーネント (1) をクリックして選択します。次に、[Details] パネルの [Mesh (メッシュ)] セクションで、Skeletal Mesh プロパティを見つけて、その横にある [Browse to Asset (アセットをブラウズ)] をクリックします。画像をクリックするとフルサイズで表示されます。
これにより、コンテンツ ブラウザ で、MetaHuman のボディのスケルタル メッシュが格納されている場所が開きます。Ada の場合、このメッシュは「
Content/MetaHumans/Ada/Female/Medium/NormalWeight/Body
」フォルダに格納されており、その名前は「f_med_nrw_body
」です。 -
f_med_nrw_body
スケルタル メッシュを右クリックして、コンテキスト メニューから [Create (作成)] > [Anim Blueprint (Anim ブループリント)] を選択します。新しいブループリントに「ABM_MHRuntimeRTG
」という名前を付けます。この操作により、同じフォルダにさらにいくつかのアセットが作成されます。これらについて気にかける必要はありません。
-
コンテンツ ブラウザ 内で
ABM_MHRuntimeRTG
ブループリントをダブルクリックして開きます。 -
AnimGraph を右クリックし、Retarget Pose from Mesh ノードを検索して作成します。下図のように、このノードを Output Pose ノードに接続します。
-
Retarget Pose from Mesh ノードをクリックして選択します。次に、[Details] パネルの [Retargeter Asset (リターゲター アセット)] ドロップダウンから、RTG_Mannequin リターゲター アセットを選択します。
-
アニメーション ブループリントを コンパイル して 保存 します。
コントロール可能な MetaHuman ブループリントの設定を完成させる
作成したコントロール可能な MetaHuman ブループリントを設定するには、さらにいくつかの手順を実行します。
-
BP_Ada
ブループリントに戻ります。[Functions (関数)] パネルで、EnableMasterPose 関数をクリックし、Ctrl + C** を押してコピーします。 -
BP_MetaHumanCharacter
ブループリントに切り替えます。[Functions] パネルで EnableMasterPose 関数をクリックし、Ctrl + V を押してこの関数を貼り付けます。 -
BP_Ada
ブループリントに切り替えます。[Functions (関数)] パネルで、コンストラクション スクリプト をダブルクリックして開きます。以下の各ノードを Shift キーを押しながらクリックしてドラッグし (またはクリックしてドラッグしてすべてのノードを選択) し、Ctrl + C を押してコピーします。- Enable Master Pose (これら 3 つすべて)
- Feet
- Legs
- Torso
-
BP_MetaHumanCharacter
ブループリントに切り替えます。[Functions] パネルで、コンストラクション スクリプト をダブルクリックして開き、Ctrl + V を押してコピーしたノードを貼り付けます。 -
下図のように、Construction Script ノードの出力ピンを、最初の Enable Master Pose ノードの入力ノードに接続します。
-
引き続き
BP_MetaHumanCharacter
ブループリントで、ビューポートに切り替え、Body コンポーネント (1) をクリックして選択します。[Details] パネルで、[Animation (アニメーション)] セクション (2) で、次のプロパティを設定します。- Animation Mode:Use Animation Blueprint
- Animation Blueprint:このチュートリアルで前に作成した
ABM_MHRuntimeRTG
アニメーション ブループリントを検索して、選択します。
画像をクリックするとフルサイズで表示されます。
Quinn メッシュを非表示にする
BP_MetaHumanCharacter
ブループリントで最後に実行する必要があるのは、Quinn メッシュを非表示にすることです。これを行うには、次の手順に従います。
-
BP_MetaHumanCharacter
ブループリントで、 Mesh (CharacterMesh) コンポーネントをクリックして選択します。次に、[Details] パネルで、以下のプロパティを変更します。- Visible:このチェックボックスのオフにします。
- Visibility Based Anim Tick Option:これを [Always Tick Pose and Refresh Bones] に設定します。
[Details] パネルの 検索 ボックスを使用すると、プロパティをすばやく見つけることができます。
-
ブループリントを コンパイル して、保存 します。
MetaHuman をデフォルトの Pawn クラスに設定する
次に、BP_MetaHumanCharacter
ブループリントを現在のゲーム モードの デフォルト Pawn クラス として割り当てる必要があります。これにより、ゲームを開始するとゲームが MetaHuman をプレイアブル キャラクターとして使用するようになります。
次の手順を実行します。
-
コンテンツ ブラウザ で、「
Content/ThirdPerson/Blueprints
」フォルダに移動します。 -
BP_ThirdPersonGameMode
ブループリントをダブルクリックして開きます。 -
Default Pawn Class プロパティを
BP_MetaHuman Character
に設定します。 -
ブループリントを コンパイル して、保存 します。
最終結果
これで、ゲームをプレイする際のプレイヤー キャラクターが MetaHuman になりました。MetaHuman は、アイドル状態、走る、ジャンプの各アニメーションを備えています。足はテレインに合わせて配置されます。