Choose your operating system:
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」フォルダに格納されています。
このフォルダには、男性用、女性用を問わず、すべての 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 は多くの異なるコンポーネントで構成されています。これらのコンポーネントでボディ、顔、髪、衣服を構成しています。
では、各コンポーネントを見て、その重要性について確認しましょう。
コンポーネント アイコン |
コンポーネント タイプ |
説明 |
---|---|---|
|
スケルタル メッシュ |
Body (ボディ) コンポーネントの子コンポーネントは、他のボディパーツ コンポーネントのすべてのアニメーションと動きを制御します。Torso (胴体)、Legs (脚)、Feet (足) はすべて、着衣のスケルタル メッシュ コンポーネントで構成されています。また、Face (顔) は顔の動きを作り出すために頭部のアニメーションを制御します。グルーム アセットは、動きを正確に一致させるために頭部の子になっています。Face (顔) には、歯のシャドウイングを改善するためのオプションの TeethShell (ティースシェル) も含まれています。 |
|
グルーム |
MetaHuman の頭部の外観を定義する各種グルーム コンポーネントは、Face スケルタル メッシュ コンポーネントの子になっています。これには、Hair (ヘア)、Eyebrows (眉毛)、Fuzz (Vellus) (うぶ毛)、Eyelashes (まつ毛)、Mustache (口ひげ)、および Beard (顎ひげ) が含まれています。 |
|
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 (コンポーネント)] スタックに追加されます。
LODSync コンポーネントを選択すると、[Details (詳細)] パネルに、すべてのコンポーネントの中で最もクエリの多い LOD が表示され、LODSync コンポーネントによって管理されているすべてのコンポーネントのリストが表示されます。
プロパティ |
説明 |
---|---|
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 (アニメーション ブループリントを使用する)] に変更します。
エディタで [Simulation (シミュレーション)] モードを有効にしなくても、アニメーションをリアルタイムで継続的に更新したい場合は、[Components (コンポーネント)] リストに LiveLink Skeletal Animation コンポーネントを追加してください。このコンポーネントを追加することで、シミュレーションがアニメーション データの受け入れを開始するのを待つことなく、ライブの被写体を使用してステージングやレイアウトを調整できます。
MetaHumans と MetaHumans のコントロール リグ
このサンプルの MetaHumans と MetaHuman Creator で作成された MetaHumans は、完全にリギングされており、Unreal Engine で使用できる状態になっています。これには、全身とフェイシャルのリギングが含まれます。各 MetaHuman リグは、最大 5 つの コントロール リグ で構成されており、階層化アプローチで連携しています。このアプローチにより、MetaHumans とそのアニメーションを柔軟に、より細かくコントロールすることができます。
これらの構成と、相互連携の仕組みについて説明します。
MetaHumans を動かすコントロール リグは 3 つのレイヤー グループに分かれています。パペット リグ、変形リグ、衣服および物理です。
MetaHumans リグのレイヤー 1:パペット リグ
パペット リグは MetaHumans の 1 番目のレイヤーを表します。ここで、ボディと顔の動きが開始します。これらのリグは、アニメーターが確認して使用するコントロールです。
|
|
---|---|
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 の男性キャラクターを確認できます。
MetaHumans および MetaHumans のヘア グルーム
Unreal Engine の ヘア レンダリングおよびシミュレーション 機能では、MetaHumans で使用されるストランドベースのヘア シミュレーションを制御します。グルーム アセット エディタ などの機能を使用すると、MetaHumans は髪の束とジオメトリ表現を一箇所で管理して、より低い詳細度を実現することができます。
各 MetaHumans は、Hair (ヘア)、Mustache (口ひげ)、Beard (顎ひげ)、Eyebrows (眉毛)、Eyelashes (まつ毛)、Vellus (うぶ毛) (または Fuzz という名称の場合もある) の最大 6 つのグルーム アセットで構成されています。これらはそれぞれ、MetaHuman ブループリントのグルーム コンポーネントを使用して、ヘアのジオメトリ (ストランド、カード、メッシュ) とプロパティを記述します。
各グルームには、シネマティック品質 (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 設定で作成されたチャンク間のシームに、一致しない法線が作成される場合があります。