MetaHumans

MetaHuman キャラクターを構成するコンポーネントと、それらのコンポーネントを自分のプロジェクトで使用する方法の詳細について説明します

Windows
MacOS
Linux

このサンプルは Unreal Engine 4.26.1 以降のバージョンで使用できます。このプロジェクトは、グラフィックを集中的に使用しているシーンです。そのため、Unreal Engine の最新のレイト レーシング機能およびヘア機能を使用して意図した通りに表示するには、高性能のグラフィック カードを搭載したハイエンド システムが必要です。

MetaHuman サンプルは、Epic Game の最新のあらゆるキャラクター テクノロジーを結集した高い忠実度を誇る 2 体のデジタル ヒューマン キャラクターで構成されるフル シネマティックです。このサンプル プロジェクトでは、きわめて品質の高いキャラクターを作成するために使用できるオンライン アプリケーション MetaHuman Creator のアウトプットであるデジタル キャラクター、MetaHumans を初めて紹介します。

このサンプルの内容を確認または編集することで、以下について学習することができます。

  • MetaHumans を自分のプロジェクトで設定する

  • リアルタイム モーション キャプチャ (MoCap) データを使用して、Live Link を介してアニメーションを制御する

  • 複数のアセットの詳細度を管理することで、ハイエンドからローエンドのハードウェアとプラットフォームに対応する

始める前に

MetaHuman サンプルは、高性能のグラフィック カードを搭載したハイエンド システムを使用して体験することをお勧めします。そうすることでフレームレートが安定し、Unreal Engine の最新のレイ トレーシング、ヘア、モーション キャプチャ機能を表示することができます。

推奨システム要件:

  • DirectX 12 をサポートする Windows 10、ビルド 1902 以降

  • レイ トレーシング対応の NVIDIA グラフィック カード

  • Unreal Engine 4.26.1 以降

Epic Games Launcher の [Learn (ラーニング)] タブから MetaHumans サンプル プロジェクトをダウンロードします。

上記の推奨ハードウェア仕様を満たしていない場合でも、このプロジェクトを開いて実行できますが、プロジェクトのライティングや機能は推奨ハードウェア仕様を考慮して設計されています。そのため、プロジェクトの外観が意図した通りには表示されませんが、コンテンツの設定内容を確認することは可能です。

MetaHuman とは

MetaHumans は、Unreal Engine のオンライン アプリケーション、MetaHuman Creator で作成される高品質のデジタル キャラクターです。MetaHuman Creator で作成された MetaHumans は、他の多くのアセットと同じようにわずか数クリックで Quixel Bridge から Unreal Engine に直接ダウンロードできます。

MetaHumans は、単なる Unreal Engine に取り込まれたパーツの集合ではなく、クリエイターがエンジンで迅速にコンテンツ制作を開始できるように制作プロセスを簡素化するように配慮して設計されています。MetaHumans キャラクターを構成する主要なコンポーネントと、それらのコンポーネントを自分のプロジェクトで使用する方法を紹介します。

MetaHumans プロジェクトのファイル構造

MetaHumans のファイルは「MetaHumans」フォルダに格納されます。これは、エンジンのテンプレート プロジェクトの一部 (「ThirdPerson」テンプレートなど) に含まれる UE4 マネキン用のファイルの格納方法と同様です。このサンプル プロジェクトを確認する場合でも、MetaHuman Creator を使用して独自のキャラクターを作成して Unreal Engine に送信する場合でも、簡単に参照またはアクセスできるように、これらのファイルはすべて各自のフォルダ内に格納されています。

このプロジェクトでは、MetaHuman キャラクターは「SampleMetaHumans」フォルダに格納されています。

MetaHumanFileStructure.png

このフォルダには、男性用、女性用を問わず、すべての MetaHumans に共通する主要なコンテンツが含まれています。両方の MetaHuman キャラクターに使用されるファイルは「SampleMetaHuman/Common」フォルダに、各 MetaHuman に固有のアセットは対応する「metahuman_[Num]」フォルダに格納されています。たとえば、女性キャラクターは「metahuman_001」に、男性キャラクターは「metahuman_004」に格納されます。

MetaHumans のフォルダの編成と構造には、その他に次のような注意点があります。

  • すべての MetaHumans は同じスケルトン アセット (metahuman_base_skel) を使用する。このアセットにより、アニメーションやセットアップで MetaHuman キャラクターを簡単に使用できます。このアセットは、「Content/SampleMetaHumans/Common/Female/Medium/NormalWeight/Body」フォルダにあります。

  • 一部の衣服はすべての MetaHumans に共通ではないため、「Common」フォルダではなく「Sample」フォルダに格納されています。

  • metahuman_[Num]」フォルダには、MetaHuman キャラクターのブループリントが格納されています。たとえば、BP_metahuman_001 は女性の MetaHuman です。

MetaHumans ブループリントとそのコンポーネント

1 つのスケルトンとジオメトリ メッシュと、ブループリントに設定されたいくつかのゲーム固有のコンポーネントで構成されているデフォルトの UE4 マネキン キャラクターとは異なり、MetaHumans は多くの異なるコンポーネントで構成されています。これらのコンポーネントでボディ、顔、髪、衣服を構成しています。

では、各コンポーネントを見て、その重要性について確認しましょう。

BP_MetaHumanComponents.png

コンポーネント アイコン

コンポーネント タイプ

説明

SkeletalMesh_64x.png

スケルタル メッシュ

Body (ボディ) コンポーネントの子コンポーネントは、他のボディパーツ コンポーネントのすべてのアニメーションと動きを制御します。Torso (胴体)、Legs (脚)、Feet (足) はすべて、着衣のスケルタル メッシュ コンポーネントで構成されています。また、Face (顔) は顔の動きを作り出すために頭部のアニメーションを制御します。グルーム アセットは、動きを正確に一致させるために頭部の子になっています。Face (顔) には、歯のシャドウイングを改善するためのオプションの TeethShell (ティースシェル) も含まれています。

S_Groom_64.png

グルーム

MetaHuman の頭部の外観を定義する各種グルーム コンポーネントは、Face スケルタル メッシュ コンポーネントの子になっています。これには、Hair (ヘア)、Eyebrows (眉毛)、Fuzz (Vellus) (うぶ毛)、Eyelashes (まつ毛)、Mustache (口ひげ)、および Beard (顎ひげ) が含まれています。

ActorComponent_64x.png

LODSync

これは、LOD 同士が相互に同期して変更が行われることを保証するために、すべてのコンポーネントで MetaHuman の詳細度 (LOD) を管理するコンポーネントです。LODSync は詳細度を管理するために、コンポーネントをクエリして、全体的な LOD を特定します。LODSync は、LOD の変更時に MetaHumans が一貫した外観を持つことを保証する重要なコンポーネントです。これは、一部のコンポーネントは他のコンポーネントより LOD が少ないためです。たとえば、Face スケルタル メッシュ コンポーネントは 8 つの LOD を使用しています。対して、Body が使用している LOD は 4 つです。

MetaHuman LODSync コンポーネント

このサンプルを確認する場合でも、MetaHuman Creator で独自の MetaHumans を作成する場合でも、LODSync コンポーネントは MetaHuman ブループリントのすべてのコンポーネントをまとめることで、確実に一貫した外観を保持します。MetaHumans には、ヘア、顔、ボディを構成するたくさんの種類のコンポーネントが含まれています。各コンポーネントは、異なる数の LOD のセットを含むことができます。たとえば、Body の 4 つの LOD に対し、Face には 8 つの LOD が含まれています。LODSync コンポーネントは、これらの LOD が相互に同期していることを保証します。

LODSync コンポーネントは、[Add Component (コンポーネントを追加)] ドロップダウン選択を使用してブループリントの [Components (コンポーネント)] スタックに追加されます。

LODSyncComponent.png

LODSync コンポーネントを選択すると、[Details (詳細)] パネルに、すべてのコンポーネントの中で最もクエリの多い LOD が表示され、LODSync コンポーネントによって管理されているすべてのコンポーネントのリストが表示されます。

LODSyncComponentProperties.png

プロパティ

説明

Num LODs

すべてのサブコンポーネントでこの MetaHuman に使用できる LOD の最大数を指定します。「-1」が設定されている場合、すべてのサブコンポーネントが計算され、使用可能な LOD の最大数が決定されます。

Forced LOD

すべてのサブコンポーネントで使用する特定の LOD を指定します。「-1」に設定すると、LOD が画面サイズに基づいて、また LODSync で構成されている他のコンポーネントに合わせて切り替わる必要があるときに、自動的に切り替わります。

Components to Sync

これは、この MetaHuman ブループリントを構成するすべてのサブコンポーネントの配列です。各配列要素には、[Components (コンポーネント)] リストで参照されるコンポーネントの名前と指定された Sync Option があります。Sync Option では、このコンポーネントの LOD を寄与させる必要があるか、追従する必要があるか、寄与しない必要があるか、または LOD の切り替えが考慮されているときに無効にする必要があるかを指定します。

Custom LOD Mapping

ブループリントの [Components (コンポーネント)] リストから追加された指定コンポーネントに対する LOD の制御を有効にします。コンポーネントの LOD の最大数よりも少ない LOD を含むコンポーネントでは、このプロパティは、シームレスに同期するために LOD をマッピングするために必要です。

MetaHumans でアニメートする

アニメーショを MetaHuman にリターゲティングする

MetaHumans サンプルでは、男性キャラクターと女性キャラクターに固有のポーズ アセットを提供しています。このアセットを使用すると、UE4 マネキンを使用した既存のアニメーションを MetaHumans にリターゲティングすることができます。

この「UE4 マネキン アニメーションを MetaHuman にリターゲティングする」ガイドでは、既存の UE4 マネキン アニメーションを MetaHuman にリターゲティングするための要件、設定、およびプロセスについて説明します。

MetaHumans でモーション キャプチャを使用する

MetaHumans は、DCC アプリケーション (Motionbuilder、Maya など) 向けの Live Link を備える Live Link プラグインと、データをキャプチャするための Live Link Face アプリを使用して、Unreal Engine にリアルタイムでストリーミングされる全身およびフェイシャルのモーション キャプチャ データで構成され、これらのデータで制御されます。MetaHuman に割り当てられたアニメーション ブループリントが必要なすべてのデータを受信し、目的のスケルトンに渡します。その後、キャラクターの既存の MetaHuman ブループリント (BP_metahuman_001 など) がアニメーション ブループリントからのデータを受信して使用することができ、また、Live Link を介して受け取るモーション キャプチャ データで既存の MetaHuman ブループリントが制御されます。

MetaHuman でこれを行うには、Body という名称のスケルタル メッシュ コンポーネントを選択して、[Details (詳細)] パネルで [Animation Mode (アニメーション モード)][Use Animation Blueprint (アニメーション ブループリントを使用する)] に変更します。

MH_MotionCaptureAnimBP.png

エディタで [Simulation (シミュレーション)] モードを有効にしなくても、アニメーションをリアルタイムで継続的に更新したい場合は、[Components (コンポーネント)] リストに LiveLink Skeletal Animation コンポーネントを追加してください。このコンポーネントを追加することで、シミュレーションがアニメーション データの受け入れを開始するのを待つことなく、ライブの被写体を使用してステージングやレイアウトを調整できます。

MetaHumans と MetaHumans のコントロール リグ

このサンプルの MetaHumans と MetaHuman Creator で作成された MetaHumans は、完全にリギングされており、Unreal Engine で使用できる状態になっています。これには、全身とフェイシャルのリギングが含まれます。各 MetaHuman リグは、最大 5 つの コントロール リグ で構成されており、階層化アプローチで連携しています。このアプローチにより、MetaHumans とそのアニメーションを柔軟に、より細かくコントロールすることができます。

これらの構成と、相互連携の仕組みについて説明します。

MetaHumanControlRigsDiagram.png

MetaHumans を動かすコントロール リグは 3 つのレイヤー グループに分かれています。パペット リグ、変形リグ、衣服および物理です。

MetaHumans リグのレイヤー 1:パペット リグ

パペット リグは MetaHumans の 1 番目のレイヤーを表します。ここで、ボディと顔の動きが開始します。これらのリグは、アニメーターが確認して使用するコントロールです。

ControlRig_Face.png

ControlRig_Body.png

MetaHumans のフェイシャルの「パペット」コントロール リグ

MetaHuman のボディのコントロール リグ

次に移動すると、ボディと顔のコントロール リグを確認できます。

  • MetaHumans/Common/Common/MetaHuman_ControlRig を開く。

  • MetaHumans/Common/Face/Face_ControlBoard_CtrlRig を開く。

このサンプル プロジェクトでは、すべてのアニメーションがアニメーション コントロールに基づいています。ターゲット プラットフォームやハードウェア用のアニメーションを制作する際には、アニメーション シーケンスでボディ リグを FK ジョイントに、フェイス リグを RigLogic 表情カーブにベイクすることをお勧めします。インゲームでこれを実行すると、シーケンサとコントロール リグをライブで実行するため、パフォーマンスに影響する恐れがあります。

MetaHumans リグのレイヤー 2:変形リグ

変形リグ は、MetaHumans の 2 番目のレイヤーを構成します。ここでは、ツイストや解剖学的ジョイントをすべて制御するコントロール リグが使用されています。これに続けて、アニメーション ブループリント に 12 個の Pose Driver ノードがあります。これらは、100 以上の補正ボディ ポーズを制御し、MetaHuman の全体的な変形のボリュームを保持し、向上させます。

Face は RigLogic プラグインを使用して、ポスト プロセスで実行され、異なるアニメーション インターフェースや Live Link Face からの RigLogic 表情カーブを介してすべての変更を連鎖させ、最終的な顔アニメーションを変形させることができます。

MetaHumans リグのレイヤー 3:衣服および物理

最後のレイヤーは、衣服および物理 です。このレイヤーは、MetaHumans が着用している衣服に応じて大きく異なります。MetaHumans は衣類用の独自のコントロール リグを備えている場合があります。

これらのサンプルでは、衣服にコントロール リグを使用している MetaHumans の女性キャラクターや、パーカーのひも部分や首の後ろにたれたフードに物理学が適用されている MetaHumans の男性キャラクターを確認できます。

PhysicsRig.gif

MetaHumans および MetaHumans のヘア グルーム

Unreal Engine の ヘア レンダリングおよびシミュレーション 機能では、MetaHumans で使用されるストランドベースのヘア シミュレーションを制御します。グルーム アセット エディタ などの機能を使用すると、MetaHumans は髪の束とジオメトリ表現を一箇所で管理して、より低い詳細度を実現することができます。

各 MetaHumans は、Hair (ヘア)、Mustache (口ひげ)、Beard (顎ひげ)、Eyebrows (眉毛)、Eyelashes (まつ毛)、Vellus (うぶ毛) (または Fuzz という名称の場合もある) の最大 6 つのグルーム アセットで構成されています。これらはそれぞれ、MetaHuman ブループリントのグルーム コンポーネントを使用して、ヘアのジオメトリ (ストランド、カード、メッシュ) とプロパティを記述します。

Groom_HairComponents.png

各グルームには、シネマティック品質 (LOD 0) から遠方のキャラクター (LOD 7) までの LOD が設定されています。

クリックしてフルサイズ表示。

LOD は高品質用のストランドから、カード、メッシュ (ヘルメットとも呼ばれる) まで、ヘアの特定のジオメトリ表現を使用しています。各 LOD は次の方法で表されています。

  • LOD 0–1 は、ハイエンド プラットフォーム (Xbox Series X、PlayStation 5、PC) ではストランドベースのジオメトリを使用しますが、その他のプラットフォームではカード表現もサポートしています。

  • LOD 2–4 は、カードベースの表現を使用します。

  • LOD 5–7 は、簡素化されたヘア メッシュを使用します。

まゆ毛や薄いひげなどの細いヘアの場合、グルーム データはヘッド シェーダを介してテクスチャの追加レイヤーとして直接適用されます。この方法により、MetaHumans の外観を維持しながら負荷を削減することができます。すべてのグルームは、カスタム スキニング メカニズムを使用して頭部にアタッチされ、すべての髪の束とヘア カードを頭部上の正確な位置にピンで固定することができます。このメカニズムでは、現在、すべてのプラットフォーム (モバイルを除く。モバイルでは、ヘアがボーンの変形に直接アタッチされる) でキャラクターの頭部に対して独自のスキン キャッシュ オプションが有効になっている必要があります。

MetaHuman の男性のグルームは、キャラクターの動きに応じて髪を変形させるためにヘア物理ソルバを利用しており、髪を頭部コライダーに衝突させることができます。

MetaHumans のパフォーマンス、プラットフォーム、およびプロジェクト設定

MetaHumans は、ハイエンドのシネマティックからハイエンドのモバイル デバイスまで、幅広いハードウェアおよびプラットフォームをスケーラブルな品質でサポートできるように開発、設計されています。これにより、同一の MetaHumans を複数のプラットフォームにまたがって使用することができ、それらのプラットフォームのパフォーマンス要件を満たすと同時に、高い忠実度を維持することができます。

MetaHumans の詳細度の基準

MetaHumans を構成するコンポーネントは、次の仕様を基準として、個々の LOD に合わせて作成されます。使用するキャラクター、衣服、髪型に応じて、MetaHumans は次の一般的な品質の範囲で作成されます。

LOD (詳細度)

0

1

2

3

4

5

6

7

頭部

頂点数

24000

12000

6000

2500

1300

560

270

130

ブレンド形状

669

ジョイント数

713

529

397

283

84

70

41

26

スキンへの影響

12

12

12

8

8

8

4

4

アニメーション マッピング

有効

有効

無効

無効

無効

無効

無効

無効

ボディ

ボディの頂点数

30500

7600

3350

1507

補正

有効

有効

無効

無効

スキンへの影響

8

8

8

4

ヘア

ヘア スタイルのストランド数

50000

25000

ヘア スタイルのカードの頂点数

30000

15000

10000

3000

1500

ヘア スタイルのメッシュの頂点数

500

250

100

フェイシャルの髪の束の数

10000

5000

フェイシャルのヘア カードの頂点数

15000

7000

3000

1000

500

物理

有効

有効

有効

無効

無効

無効

無効

無効

MetaHuman キャラクターのプラットフォームのサポート

MetaHumans は、ハイエンド PC からモバイル デバイスまで、多くのプラットフォームで動作するように設定されています。

クリックしてフルサイズ表示。

次の表に、MetaHumans が各種プラットフォームでサポートしている内容を示します。

プラットフォーム

レイ トレーシングのサポート

ヘア

最大の LOD

テクスチャの最大サイズ

PC (Epic およびシネマティック品質)

あり

ストランドおよびカード

0

8192

PC (中~低品質)

なし

ストランドおよびカード

0

8192

Mac

なし

カード

0

8192

PS5/XSX

なし

ストランドおよびカード

0

8192

PS4/XB1

なし

カード

0

2048

Switch

なし

カード

3

2048

iOS/Android

なし

カード

3

2048

モバイル プラットフォームおよびコンソール プラットフォームでの実行

コンソールやモバイル デバイスで MetaHumans を使用するには、コンフィグレーションを追加する必要があります。

モバイル:

プロジェクトの「Config」フォルダにある DefaultEngine.ini コンフィギュレーション ファイルに Compat.Max_GPUSKIN_BONES=75 を追加する必要があります。このコマンドは、[/Script/Engine.RendererSettings] セクションに追加する必要があります。

コンソール:

Xbox と PlayStation のソース コードにアクセスできる権限が必要です。権限がある場合は、Perforce (P4) サーバーを介して、コンソールごとに必要なプロジェクト コンフィギュレーション ファイルにアクセスできます。

異なるプラットフォームのシーン ライティング

MetaHumans は幅広い品質設定をサポートしています。このようなハイエンド品質設定には、レイ トレーシングなどのライティング設定を使用しているものもありますが、このような設定はすべてのプラットフォームでサポートされているわけではありません。

レベルを見ていくと、プラットフォームに応じて異なるライティング設定をロードするために、個別のサブレベルを使用していることがわかります。使用するライティング設定は、レベル ブループリントで決定されます。

プラットフォーム

ライティング設定

モバイルおよび Gen4 コンソール

2 つのシャドウ スポット ライト

Gen5 コンソール

4 つのシャドウ スポット ライト

PC

最大 4 つのレイ トレーシング シャドウ スポット ライトが Epic 品質で動作する

MetaHuman のプロジェクト設定およびプラグイン

MetaHumans は Unreal Engine で動作するために、多数のプロジェクト設定、コンソール変数、およびプラグインを有効にする必要があります。次のリストに、Unreal Engine のデフォルト以外の要件をまとめています。

有効にするプロジェクト設定:

  • [Support 16-bit Bone Index (16 ビット ボーン インデックスをサポート)]

    • Face スケルトンなど多くのボーンを含むコンポーネントに必要。

  • [Use Unlimited Bone Influences (ボーンへの影響を無制限に使用する)]

    • 頂点ごとに 12 個のボーンへの影響を使用する Face スケルタル メッシュに必要。

  • [Ray Tracing (レイ トレーシング)]

  • [Support Compute Skin Cache (スキン キャッシュの計算をサポート)]

    • 接線の再計算をサポートするレイ トレーシング機能に必要。

有効にするプラグイン:

  • Alembic for Groom

  • Groom

  • Control Rig

  • Live Link

  • Live Link Control Rig

  • Live Link Curve Debug UI

その他のプロパティ/設定:

MetaHumans の今後の改善点

MetaHumans は、MetaHuman Creator を使用した Unreal Engine プロジェクトで将来にわたり使用できるキャラクター制作です。以下は、Unreal Engine、およびその延長で MetaHumans に対して行われている改善点の一部のリストです。

  • Vulkan は現在 MetaHumans ではサポートされていません。

  • iOS、Android、Switch の各プラットフォームで MetaHumans の品質を引き続き向上していきます。これには、スキン マテリアルの機能 (アニメーション マップなど)、ジオメトリのディテール、髪のアタッチなどが含まれます。

  • Body コンポーネントでポーズ ドライバのセットアップを使用すると、大きな負荷がかかります。このシステムは、Unreal Engine 4.26.2 のホットフィックスとバージョン 4.27 で最適化が実行されます。

  • LOD でのバインディングとシミュレーションのスケーリングが不足しているため、Groom コンポーネントを使用する際の負荷が大きくなっています。

  • Mac ではヘア シミュレーションを使用できません。これはさらに調査が必要なプラットフォーム固有の問題です。

  • XSX でヘア シャドウイングがちらつくことがありましたが、Unreal Engine 4.26.2 のホットフィックスで解決される予定です。

  • Nintendo Switch でヘア シェーディングが黒く表示されます。この特有の問題は、Unreal Engine 4.27 で解決される予定です。

  • 接線を再計算する機能を使用すると、UV シームや、Compat.MAX_GPUSKIN_BONES 設定で作成されたチャンク間のシームに、一致しない法線が作成される場合があります。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる