基本的な平行移動リターゲティング
2 つのアセンブル済み MetaHuman キャラクター間で基本的な平行移動リターゲティングを使用することができます。
1 つ目のキャラクターをレベルに追加し、アクタのブループリントを開きます。
ボディ コンポーネントを選択し、[Animation Mode (アニメーション モード)] を [Use Animation Asset (アニメーション アセットを使用する)] に設定して、適切なボディ アニメーション アセットを選択します。 顔コンポーネントにもこの手順を繰り返します。
[Compile (コンパイル)] をクリックし、次に [Save (保存)] をクリックします。
PIE を開くと、レベル内でキャラクターがアニメートされているのが分かります。
2 つ目のキャラクターのブループリントを開きます。
ボディ コンポーネントを選択し、[Animation Mode (アニメーション モード)] を [Use Animation Asset (アニメーション アセットを使用する)] に設定して、1 つ目のキャラクターと同じボディ アニメーション アセットを選択します。 顔コンポーネントにもこの手順を繰り返します。
[Compile (コンパイル)] をクリックし、次に [Save (保存)] をクリックします。
2 つ目のキャラクターをレベルに追加します。
PIE を開くと、レベル内で 2 つのキャラクターがアニメートされているのが分かります。
親スケルタルメッシュのリターゲティング
アセンブル済み MetaHuman キャラクターから別の MetaHuman キャラクターに、メッシュ ノードからのリターゲティング ポーズを使用して、アニメーションをリターゲティングします。
アニメーション ブループリントを作成する
コンテンツ ブラウザでターゲット キャラクターのスケルタルメッシュを見つけます。
右クリックして [Create (作成)] > [Anim Blueprint (Anim ブループリント)] を選択します。
新規アセットに名前を付け、ダブルクリックしてアセット エディタを開きます。
[Anim Graph (アニメーション グラフ)] で右クリックして、Retarget Pose From Mesh ノードを作成し、Output Pose ノードに接続します。 [Retarget Pose (リターゲティング ポーズ)] パラメータの設定を [Parental Skeletal Mesh Component (親スケルタルメッシュ コンポーネント)] のままにしておきます。
[IK Retargeter Asset (IK リターゲッタ アセット)] パラメータで RTG_MH_IKRig アセットを選択します。
[Compile (コンパイル)] をクリックし、次に [Save (保存)] をクリックします。
スケルタルメッシュをペアレント化する
ターゲット キャラクターのアクタのブループリントを開きます。
[Root (ルート)] の下位にある (ただしルートは含まない) すべてのコンポーネントを複数選択します。 Ctrl + C でコピーします。
ソース キャラクターのアクタのブループリントを開きます。
Ctrl + V キーを使用してターゲット キャラクター コンポーネントをペーストします。 ターゲット キャラクターのボディ コンポーネントを、ソース キャラクターのボディ コンポーネントの下位に配置し再ペアレント化します。
アニメーションでの違いが分かりやすくなるように、キャラクターのオフセットを設定するようおすすめします。
ターゲット キャラクターのボディ コンポーネント (「Body1」という名前) を選択し、[Animation Mode (アニメーション モード)] を [Use Animation Blueprint (アニメーション ブループリントを使用)] に設定して、前のセクションで作成したものと同じアニメーション ブループリント アセットを選択します。
ソース キャラクターのボディ コンポーネントを選択し、[Animation Mode (アニメーション モード)] を [Use Animation Asset (アニメーション アセットを使用)] に設定して、適切なアニメーション アセットを選択します。
コンポーネント リターゲティング ワークフロー
親スケルタルメッシュのリターゲティングでは、アクタのブループリントを調整する必要があります。 そのため、頻繁にアセンブルし直したり、アクタのブループリントを変更せずに作業したりする場合には、不便を感じることがあります。 別のアプローチとして、リターゲティング コンポーネントを使用することもできます。
この設定では、アニメーションを再生するアクタ (ソース) と、アセンブルしたターゲット MetaHuman キャラクターが必要です。
シンプルなスケルタルメッシュ コンポーネントをソース アクタにできます。 ソース アクタは、再生アニメーションをレコーディングしたときと同じプロポーションを使用するようおすすめします。そうすることで、常時適用される平行移動リターゲティングでプロポーションを調整する必要がなく、リターゲティングを 2 回することがなくなります。 これは、アセンブルした MetaHuman キャラクターの Common/Body/IdentityTemplate/SKM_Body にある SKM_Body である必要があります。
アニメーション シーケンスまたは AnimBP をソース アクタに適用します。
アセンブルした MetaHuman キャラクターのアクタのブループリントを開きます。
リターゲティング コンポーネントを追加します。
コンパイルして保存し、アクタ ブループリント エディタを閉じます。
アセンブルした MetaHuman キャラクターをレベル内で選択し、リターゲティング コンポーネントを選択します。
ソース アクタから、ソース スケルタルメッシュ コンポーネントとしてスケルタルメッシュを選択します。
また、制御対象スケルタルメッシュ コンポーネントとして、アセンブルした MetaHuman キャラクターのボディを選択します。
ゲーム アニメーション サンプル プロジェクトのランタイム親スケルタルメッシュ リターゲティング
ゲーム アニメーション サンプル プロジェクトのメッシュ ノードのリターゲティング ポーズを使用して、Manny からアセンブル済み MetaHuman キャラクターにアニメーションをリターゲティングします。
このワークフローでは、Unreal Engine でゲーム アニメーションのサンプル プロジェクトを開いておく必要があります。
アニメーション ブループリントを作成する
コンテンツ ブラウザで、アセンブルした MetaHuman キャラクターのスケルタルメッシュを見つけます。
右クリックして [Create (作成)] > [Anim Blueprint (Anim ブループリント)] を選択します。
新規アセットに名前を付け、ダブルクリックしてアセット エディタを開きます。
[Anim Graph (アニメーション グラフ)] で右クリックして、Retarget Pose From Mesh ノードを作成し、Output Pose ノードに接続します。 [Retarget Pose (リターゲティング ポーズ)] パラメータの設定を [Parental Skeletal Mesh Component (親スケルタルメッシュ コンポーネント)] のままにしておきます。
[IK Retargeter Asset (IK リターゲッタ アセット)] パラメータで RTG_UEFN_to_MetaHuman_nrw アセットを選択します。
[Compile (コンパイル)] をクリックし、次に [Save (保存)] をクリックします。
スケルタルメッシュをペアレント化する
アセンブルした MetaHuman キャラクターのアクタのブループリントを開きます。
[Root (ルート)] の下位にある (ただしルートは含まない) すべてのコンポーネントを複数選択します。 Ctrl + C でコピーします。
Manny のアクタのブループリントを複製して開きます。
Ctrl + V キーを使用してターゲット キャラクター コンポーネントをペーストします。 ターゲット キャラクターのボディ コンポーネントを、Manny のメッシュ (CharacterMesh0) コンポーネントの下位に配置し再ペアレント化します。
ボディ コンポーネントの [Transform (トランスフォーム)] を「0」に設定して、オフセットを削除します。
すべての MetaHuman キャラクターに適用されていた +2cm というデフォルト オフセットはなくなったため、Manny の位置に正しく合わせるには、[Location Transform (位置トランスフォーム)] に -2 のオフセットを適用する必要があります。
ターゲット キャラクターのボディ コンポーネントを選択し、[Animation Mode (アニメーション モード)] を [Use Animation Blueprint (アニメーション ブループリントを使用)] に設定して、前のセクションで作成したものと同じアニメーション ブループリント アセットを選択します。
アセンブルした MetaHuman キャラクターのスケルタルメッシュの衣服コンポーネントも、同じアニメーション ブループリントを使用するように設定する必要がある場合があります。
メッシュ (CharacterMesh0) コンポーネントを選択して Manny を非表示にし、[Visible (表示)] をオフにします。
[Compile (コンパイル)] をクリックし、次に [Save (保存)] をクリックします。
エディタ ウィジェットを更新する
[Game Animation Widget (ゲーム アニメーション ウィジェット)] エディタを開きます。
Manny ウィジェットを複製します。 [Object (オブジェクト)] を、複製した Manny ブループリントに設定します。
[Compile (コンパイル)] をクリックし、次に [Save (保存)] をクリックします。
レベルを実行する
レベルを実行します。
キャラクターを [Game Animation Widget] に移動します。
前のセクションで作成したキャラクターを選択します。
次の内容
Live Link を使用したリアルタイム アニメーション
アセンブルした MetaHuman キャラクターをリアルタイムでアニメートするには、Live Link の MetaHuman ソースを使用します。