このチュートリアルでは、アニメーション ブループリントを使用して Unreal Engine 5 マネキン (Quinn) のアニメーションを MetaHuman にリターゲティングして、その MetaHuman をレベル内でプレイアブル キャラクターとして使用する方法を説明します。
この方法では、IK リグの脚の配置機能は使用しません。そのため、アニメートされた MetaHuman の脚は、テレインに動的に適合されません。IK リグの機能を使用する必要がある場合は、「ランタイム時にアニメーションをリターゲティングする」を参照してください。
必要な知識と設定
このページでは、Unreal Engine の アニメーション ブループリント の基本的な知識があることを前提としています。
このページで説明している手順を実行するには、以下を実行する必要があります。
-
「サードパーソン」テンプレート に基づいて新しい Unreal Engine プロジェクトを作成する。この手順の実行方法については、Unreal Engine 5 ドキュメントの以下のページを参照してください。
-
MetaHuman をダウンロードして、プロジェクトにインポートする。この手順の実行方法については、以下のページを参照してください。
ワークフロー
このワークフローは、次の手順で構成されています。
-
Quinn アニメーション ブループリントを MetaHuman のスケルタル メッシュにリターゲティングします。
-
コントロール可能な MetaHuman ブループリントを作成します。
-
ゲーム モード ブループリントでデフォルトの Pawn クラスとして MetaHuman を設定します。
-
脚のアニメーションを修正します。
Quinn アニメーション ブループリントをリターゲティングする
まず、Quinn のアニメーションを制御する Quinn アニメーション ブループリントを MetaHuman スケルタル メッシュにリターゲティングします。
次の手順を実行します。
-
コンテンツ ブラウザ で、
ABP_Quinn
アニメーション ブループリントを検索します。検索するには、検索バーを使用するか、「Content/Characters/Mannequins/Animations
」フォルダに移動します。 -
ABP_Quinn
アニメーション ブループリントを右クリックし、コンテキスト メニューから [Retarget Animation Assets (アニメーション アセットのリターゲティング)] > [Duplicate and Retarget Animation Blueprint (アニメーション ブループリントを複製してリターゲティング)] を選択します。 -
[IK Retargeter (IK リターゲター)] セクションで、ドロップダウンをクリックして RTG_Mannequin アセットを選択します。
この操作により、[Source Skeletal Mesh (ソース スケルタル メッシュ)] と [Target Skeletal Mesh (ターゲット スケルタル メッシュ)] の両方のプレビューに、Manny スケルタル メッシュが表示されます。
-
プレビューの下にある [Target Skeletal Mesh] のドロップダウンをクリックし、MetaHuman に対応するボディ メッシュを選択します。
なお、すべてのスケルタル メッシュには次の同一の命名規則が適用されます。
gender-presentation_height_weight_mesh-purpose
.このチュートリアルでは、以下の属性を持つ Bryan プリセットを使用します。- 性別:m
- 身長:med
- 体重:nrw
ボディ メッシュのサフィックスは、
_body
です。このチュートリアルで検索するメッシュの名前は「
m_medium_nrw_body
」です。ドロップダウンでこのメッシュを検索して、選択します。 -
(オプション) リターゲティングしたアセットの追加オプションを次のように設定します。
- 新規アセットのファイル名に追加する [Prefix (プレフィックス)] または [Suffix (サフィックス)]、あるいはその両方を入力します。
- [Folder (フォルダ)] オプションの横にある [Change (変更)] をクリックし、リターゲティングしたアセットを作成するパスを参照します。
-
[Retarget (リターゲティング)] をクリックします
右下に次のメッセージが表示されます。「
{Number}
個のアセットが新しいスケルトン
{mesh-name}` にリターゲティングされました。詳細については出力を確認してください。」これは、正常にリターゲティングされたことを確認するメッセージです。また、コンテンツ ブラウザでも新規にリターゲティングされたアセットを表示できます。
-
コンテンツ ブラウザ で [Save All (すべて保存)] ボタンをクリックして、新規に作成したアセットを保存します。
この手順で作成された新しい アニメーション ブループリント アセットの名前と場所を書き留めておきます。これは後で必要になります。
このチュートリアルでは、ファイルが「Content
」フォルダに保存され、ファイル名は変更されません。
コントロール可能な 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/Bryan
」に格納されている Bryan プリセットを使用しており、「BP_Bryan
」という名前が付いています。BP_Bryan
ブループリントをダブルクリックして ブループリント エディタ で開いて、[Viewport (ビューポート)] タブに切り替えます。 -
BP_Bryan
ブループリントで、Body コンポーネント (1) をクリックします。次に、[Details (詳細)] パネルで、[Mesh (メッシュ)] セクション (2) に移動し、Skeletal Mesh プロパティを見つけます。[Browse to Asset (アセットをブラウズ)] (3) をクリックします。画像をクリックするとフルサイズで表示されます。
このボタンをクリックして、コンテンツ ブラウザでこの MetaHuman のボディ スケルタル メッシュを参照します。
-
BP_MetaHumanCharacter
ブループリントに切り替えて、Body コンポーネント (1) をクリックします。次に、[Details (詳細)] パネルで、[Mesh (メッシュ)] セクション (2) に移動し、Skeletal Mesh プロパティを見つけます。[Use Selected Asset from the Content Browser (コンテンツ ブラウザから選択したアセットを使用する)] (3) をクリックします。画像をクリックするとフルサイズで表示されます。
-
BP_Bryan
ブループリントに切り替えます。[Components (コンポーネント)] タブで、次のコンポーネントを選択します。- Feet
- Legs (脚)
- Torso (胴体)
- Face (顔)
- 髪
- まゆ毛
- Fuzz (うぶ毛)
- まつ毛
- Mustache (口ひげ)
- Beard (あごひげ)
複数のコンポーネントを選択するには、選択したい最初のコンポーネントをクリックします。次に、Shift キーを押したまま、選択したい最後のコンポーネントをクリックします。
Ctrl + C キーボード ショートカットを使用して、選択したコンポーネントをコピーします。
-
BP_MetaHumanCharacter
ブループリントに切り替えます。[Components (コンポーネント)] パネルで、Mesh (CharacterMesh0) コンポーネントをクリックし、Ctrl + V キーボード ショートカットを使用して、前の手順でコピーしたコンポーネントを貼り付けます。 -
前の手順に引き続き、[Components] パネルで、先ほどコピーした コンポーネント を選択して、クリックしてドラッグし、該当する Mesh コンポーネントの親に設定します。完成した階層は次のスクリーンショットのようになります。
すべてのコンポーネントに適切な親が設定されている限り、このウィンドウのコンポーネントの順序は重要ではありません。
-
Legs、Feet、Face および Torso の各コンポーネント (1) を選択します。次に、[Details (詳細)] パネルで、[Transform (トランスフォーム)] セクションに移動します。[Location (位置)] と [Rotation (回転)] の値の横にある 2 つの リセット ボタン (2) をクリックして、これらの値をゼロにリセットします。
画像をクリックするとフルサイズで表示されます。
連続していない複数のコンポーネントを選択するには、Ctrl キーを押したまま、選択したいそれぞれのコンポーンネントを左クリックします。
-
Mesh コンポーネントを選択します。次に、[Details] パネルで、[Animation (アニメーション)] セクションに移動して、次のプロパティを設定します。
- Animation Mode:これを [Use Animation Blueprint] に設定します。
- Animation Class:上記のセクションで作成した
ABP_Quinn
アニメーション ブループリントを選択します。
-
BP_Bryan
ブループリントの ブループリント エディタ に切り替えます。[Functions (関数)] パネルで、EnableMasterPose 関数をクリックし、Ctrl + C** キーボード ショートカットを使用してコピーします。画像をクリックするとフルサイズで表示されます。
-
BP_MetaHumanCharacter
ブループリントに切り替えます。[Functions] パネル内をクリックし、Ctrl + V キーボード ショートカットを使用して、前の手順でコピーした EnableMasterPose 関数を貼り付けます。 -
前の手順から引き続き、
BP_MetaHumanCharacter
ブループリントで EnableMasterPose 関数をダブルクリックして開きます。Set Master Component ノードを検索します。これは、ブループリントの一番右側にあります。この時点でブループリントのコンパイルを試みると、次のエラーが表示されます。「The property associated with Body could not be found. (Body に関連付けられているプロパティが見つかりませんでした。)」これは次の手順で修正します。
-
[Components] ウィンドウの Mesh (CharacterMesh) コンポーネントをブループリントにドラッグします。これで Mesh ノードが作成されます。Mesh ノードの出力ピンをクリックしてドラッグし、Set Master Pose Component ノードの New Master Bone Component プロパティに接続します。これにより、Body ノードと Set Master Pose Component ノードの間の既存の接続が解除されます。
以下のビデオではこのプロセスを示します。
-
BP_Bryan
ブループリントに切り替えます。[Functions (関数)] パネルで、コンストラクション スクリプト をダブルクリックして開きます。以下の各ノードを Shift キーを押しながらクリックしてドラッグし (またはクリックしてドラッグしてすべてのノードを選択) し、Ctrl + C を押してコピーします。- Enable Master Pose (これら 3 つすべて)
- Feet
- Legs
- Torso
-
BP_MetaHumanCharacter
ブループリントに切り替えます。[Functions] パネルで、コンストラクション スクリプト をダブルクリックして開き、Ctrl + V を押してコピーしたノードを貼り付けます。 -
下図のように、Construction Script ノードの出力ピンを、最初の Enable Master Pose ノードの入力ノードに接続します。
-
ブループリントを コンパイル して、保存 します。
MetaHuman をデフォルトの Pawn クラスに設定する
次に、BP_MetaHumanCharacter
ブループリントを現在のゲーム モードの デフォルト Pawn クラス として割り当てる必要があります。これにより、ゲームを開始するとゲームが MetaHuman をプレイアブル キャラクターとして使用するようになります。
次の手順を実行します。
-
コンテンツ ブラウザ で、「
Content/ThirdPerson/Blueprints
」フォルダに移動します。 -
BP_ThirdPersonGameMode
ブループリントをダブルクリックして開きます。 -
Default Pawn Class プロパティを
BP_MetaHuman Character
に設定します。 -
ブループリントを コンパイル して、保存 します。
脚のアニメーションを修正する
この時点で、Unreal Editor でゲームをプレイすると、MetaHuman の脚が地面にくっついていることがわかります。これを修正するには、次の手順を実行します。
-
上記の「Quinn アニメーション ブループリントをリターゲティングする」セクションで作成したアニメーション ブループリント ファイルに戻り、
ABP_Manny
ブループリントを開きます。ABP_Manny
ブループリント (ABP_Quinn
ではない) で作業する理由は、前者が後者の親クラスで、後者がその親クラスを継承しているためです。 -
[My Blueprint (マイ ブループリント)] パネルで、AnimGraph アニメーション グラフをダブルクリックして開きます。
-
AnimGraph ビューで、 Control Rig ノードを探します。Alt キーを押しながら、入出力の接続ピン (以下のスクリーンショットに示す) をクリックして、接続を解除します。
-
以下に示すように、Slot 'DefaultSlot' ノードの出力ピンを Output Pose ノードの入力ピンに接続します。
-
ブループリントを コンパイル して、保存 します。
最終結果
これで、ゲームをプレイする際のプレイヤー キャラクターが MetaHuman になりました。MetaHuman は、アイドル状態、走る、ジャンプの各アニメーションを備えています。