このページには、Unreal Engine プロジェクトで MetaHuman について理解し、使用するために必要なあらゆる情報が記載されています。 これには、MetaHuman をロードして効果的に使用するうえで必要となるプロジェクト設定、プラグイン、およびコンソール変数も含まれています。 また、その他の役立つ設定およびコマンドについても解説します。
プロジェクト設定とコンソール変数
Quixel Bridge から初めて MetaHuman をインポートするときは、プロジェクトの「Config」フォルダに格納されている「DefaultEngine.ini」コンフィギュレーション ファイルに、次のプロジェクト設定とコンソール変数が追加されます。
これらのコマンドは [ConsoleVariables] セクションと [/Script/Engine.RendererSettings] セクションに追加されます。
| コンソール変数 | 説明 | 必要な値 |
|---|---|---|
| スケルタルメッシュの個々のセクションでレンダリングするために、256 を超えるボーン インデックスのサポートを有効にします。 | オン |
| GPU スキニングで、デフォルトの 4/8 ではなく、無制限のボーン影響度を使用するかどうかを指定します。 これはランタイム時に変更することはできません。 | オン |
| GPU の計算スキニング キャッシュ シェーダーをコンパイルするかどうかを指定します。 頂点シェーダーのスキンではなく、計算ジョブのスキニング用にシェーダーをコンパイルします。 | オン |
| [Support Compute Skin Cache (スキン キャッシュの計算をサポート)] ( | 0 |
|
| 1 |
| 他のすべてのグループのヘアの後、Niagara の順序/依存関係を最後のティック グループで強制的に評価します。 無効にすると、物理アセットが更新される前に Niagara が評価され、場合によってはコリジョンが 1 フレーム遅れます。 | 1 |
これらの変更を有効にするは、エディタを再起動する必要があります。
プラグイン
これまで MetaHuman Creator プラグインを有効にしていなかったプロジェクトでアセンブルしたキャラクターを使用する場合、次のプラグインの 1 つまたは複数を有効にする必要がある場合があります。
| プラグイン | 説明 |
|---|---|
グルーム | Unreal Engine でのヘア グルームのレンダリングとシミュレーションのサポートを有効にします。 |
Rig Logic Plugin | 3Lateral のフェイシャル アニメーション リグのサポートを有効にします。 |
Live Link | Maya、Motionbuilder などの DCC ツールを使用して、外部ソースから Unreal Engine への共通インターフェースを使用したストリーミング アニメーション データのサポートを有効にします。 Live Link を使用すると、Unreal Engine 内での作業のプレビューをリアルタイムで表示しながら、アニメーションを外部で編集できるようになります。 モーション キャプチャ システムでは、Live Link を使用して、リアルタイムでプレビューできるデータをエンジンにストリーミングすることもできます。 詳細については、Live Link プラグインに関するドキュメントを参照してください。 |
Live Link Control Rig | コントロール リグを介した Live Link データのサポートを有効にします。 |
Control Rig | アーティストフレンドリーなインターフェースを備えた、柔軟で動的なプロシージャル キャラクターを作成するためのツールをリガーに提供するために設計されたノードベースのリギング システムを有効にします。 詳細については、「コントロールリグ」を参照してください。 |
Megascans | MetaHuman Creator Web アプリケーションで作成された既存の MetaHuman キャラクターを、Quixel Bridge を使用して現在のプロジェクトにインポートまたは移行できるようにします。 |
これらの変更を有効にするは、エディタを再起動する必要があります。
MetaHumans 用の追加のコンソール コマンド
次のセクションでは、特定のコンフィギュレーション ファイル (*.ini) に使用および追加できる、追加のコンソール コマンドについて説明します。
モバイル コンフィギュレーション コマンドでの MetaHuman
モバイル プラットフォームでは、スキン処理されたキャラクターのボーンは最大 75 個に制限されています。 これは、1 回のドロー コールでモバイル GPU でスキン処理できるボーンの最大数です。 MetaHuman をデプロイ先のモバイル デバイスにロードして実行できるようにするには、プロジェクトの「DefaultEngine.ini」コンフィギュレーション ファイルに次のコマンドを追加します。 次を [ConsoleVariables] セクションの下位に配置します。
Compat.MAX_GPUSKIN_BONES=75
DefaultDeviceProfiles.ini のコンフィギュレーション コマンド
[Device Profiles (デバイス プロファイル)] が提供するオプションを使用すると、デバイスおよびプラットフォーム固有の構成を設定できます。 これにより、スケーラビリティ、レンダリング、テクスチャなど、そのデバイスまたはプラットフォームにのみ影響する多くのプロパティをデバイス プロファイルに設定できます。
[Device Profiles (デバイスプロファイル)] ウィンドウから、デバイス プロファイル オプションを管理および設定できます。このウィンドウには、[Tools (ツール)] > [Platforms (プラットフォーム)] メニューからアクセスできます。 または、独自の「DefaultDeviceProfiles.ini」コンフィギュレーション ファイルをプロジェクトの「Config」フォルダに手動で追加することもできます。
テクスチャ LOD グループ
MetaHuman は大きな 8K テクスチャを使用しますが、これはすべてのデバイスとプラットフォームに適しているわけではありません。 TextureLODGroups を使用すると、特定のテクスチャ グループでサポートされている最小および最大の LOD (mip) を管理できます。これらは、[Mip Gen Settings (ミップ全般設定)] によってテクスチャ エディタで設定されます。
モバイル デバイスでは、最大テクスチャ サイズによって、コンフィギュレーション ファイルの [Max LOD Size (最大 LOD サイズ)] に関連付けられた値を変更する必要があります。
または、エディタ内の [Device Profiles] ウィンドウを使用して、編集するデバイスまたはプラットフォームを選択することもできます。 これを行うには、Texture LODGroups 列の下にあるペン アイコンをクリックします。
編集するテクスチャ グループ (World、WorldNormalMap など) を選択します。 カテゴリを展開し、[Max LOD Size] を変更します。
サポートされているプラットフォームと推奨される最適なテクスチャ サイズの詳細については、「プラットフォームおよび LOD の仕様」のページを参照してください。
早期 Z パスのカリング
早期 Z パスは、ベース パスの深度のみのカリングを初期化するために使用されます。 モバイルやその他のタイプのプラットフォームの場合、ヘアのレンダリングを速くすることができます。
Android および iOS などのモバイル デバイスでは、コンソール コマンド エントリの前に +CVars= を追加することで、目的のプラットフォームのコンフィギュレーション ファイルにコンソール変数を追加できます。 次に例を示します。
+CVars=r.EarlyZPass=3
または、エディタ内の [Device Profiles] ウィンドウを使用して、編集するデバイスまたはプラットフォームを選択することもできます。 これを行うには、CVars 列の下にあるペン アイコンをクリックします。
[Console Variables (コンソール変数)] カテゴリで [+] アイコンを押して、追加するコンソール変数に関連するサブカテゴリを展開します。 ここでは、カテゴリの関連するコンソール変数内を検索することもできます。それにより、そのサブカテゴリに固有の変数のみを表示して、適切な場所へと配置できます。
Android および iOS では、以下の使用をお勧めします。
r.EarlyZPass=3
r.Mobile.EarlyZPassOnlyMaterialMasking=1
一般的なプラットフォーム コマンド
これらのセクションのコンソール変数は、独自のプラットフォーム固有のコンフィギュレーション ファイルに格納されます。
たとえば、プロジェクトに「[MyProject]/Config/<PlatformName>」フォルダ (iOS、Android など) がある場合、 このフォルダには、「<Platform>Engine.ini」というコンフィギュレーション ファイルが格納されています。
髪の束 (ヘア ストランド) の品質設定
次のヘア コマンドは、MetaHuman のヘアの品質を向上させます。また、不要な設定をオフに切り替えることでパフォーマンスを改善できる要素を把握することができます。
次のコマンドを使用すると、キャラクターの髪の毛によってキャストされるシャドウのディテールの品質が向上します。 また、ライトがヘア グルームを透過するときのディテールもより高品質になります。 これらのコマンドは、デフォルト値と比較して、より多くの GPU 時間とより多くの GPU メモリを使用することで、品質を向上させます。
「<Platform>Engine.ini」ファイルに以下を追加します。
r.HairStrands.Voxelization.Raymarching.SteppingScale=1
r.HairStrands.Voxelization.Raymarching.SteppingScale.Shadow=1
r.HairStrands.Voxelization.Raymarching.SteppingScale.RayTracing=1
r.HairStrands.Voxelization.Virtual.VoxelWorldSize=0.1
r.HairStrands.Voxelization.Virtual.VoxelPageCountPerDim=4
Voxel Page Count Per Dim を追加すると、パフォーマンスは向上しますが、品質は低下します。
次の設定により、MetaHuman の品質と外観が向上したり、GPU のパフォーマンスが改善される可能性があります。
| コンソール変数 | 説明 | 変更値 |
|---|---|---|
| 環境ライティングでグルームがキャラクターの顔にオクルージョンをキャストする必要がない場合は、スカイ ライトからアンビエント オクルージョンを無効にすることができます。 これを無効にすると、GPU 時間を節約できます。 | 0 |
| これは、ピクセルあたりのヘア サンプルの数を制御します。 サンプル数を増やすと品質は向上しますが、フレームあたりの負荷が増大します。 | 2 |
| これにより、クック処理で一部のヘア LOD が完全に削除され、ターゲット デバイスのメモリを消費しなくなります。 (MetaHuman LOD 0 および 1 で提供される) ストランドベースのグルームの場合、大量のメモリを使用するため、モバイルなどのプラットフォームには適していません。 | 3 |
Unreal Engine 5.0 以降、髪の束はパス トレーシングを使用してレイ トレーシングされます。 そのため、髪の束には、パフォーマンスの面で多くの負荷がかかります。
プラットフォーム スケーラビリティのオーバーライド
Unreal Engine では、多数のプリセット スケーラビリティ オプションが用意されています。 これらのプリセットは、レベル エディタのツールバーの [Settings (設定)] > [Engine Scalability Settings (エンジンの拡張機能設定)] にあります。 これらのスケーラビリティ設定によって、低品質なものをシネマティック品質へと個別に切り替えることができます。また、各設定により「[UE Engine Path]/Engine/Config」フォルダーの「BaseScalability.ini」構成ファイル内のコンソール コマンドが切り替わります。
これらのデフォルトのスケーラビリティ プリセットは、独自のプロジェクトに使用したり、プラットフォームごとに上書きしたりすることもできます。 プロジェクトのプラットフォームごとのプリセットをオーバーライドするには、「<Platform>Scalability.ini」ファイルを含む「<Platform>」フォルダを作成する必要があります (たとえば、フォルダ名は「Android」、コンフィギュレーション ファイルは「AndroidScalability.ini」)。
コンフィギュレーション ファイル内で、スケーラビリティ セクションと同じ命名規則を使用し、独自のコンソール変数と値のセットを追加してそれらを置き換えることにより、スケーラビリティをオーバーライドできます。
たとえば「BaseScalability.ini」で[EffectsQuality@3] の設定を置き換える場合は、「<Platform>Scalability.ini」に追加します。
[EffectsQuality@3]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=3
モバイル プラットフォーム用に設定された例を確認するには、MetaHumans サンプル プロジェクトをダウンロードして、「Config」フォルダに移動します。 そのフォルダ内に、iOS と Android 用に設定されたサンプルがあります。
プラットフォーム スケーラビリティの便利な設定
次の設定は、品質およびパフォーマンスを制御するうえで役立ちます。
| コンソール変数 | 説明 | 変更値 |
|---|---|---|
| これにより、分離可能なトランスミッションで散乱を実行するために Burley のサブサーフェス スキャッタリングをフォールバックに切り替えられ、パフォーマンスが向上します。 | 0 |
| これにより、サブサーフェス スキャタリング アルゴリズムの一部を半分の解像度で実行できます。 これにより、解像度は低くなりますが、レンダリングは高速になります。 | 1 |
| これにより、プロジェクト内のすべてのグルーム要素がストランドではなくカードとメッシュのジオメトリを強制的に使用します。 使用可能なカード ジオメトリがない場合、何も表示されません。 | 1 |
Nanite および Lumen
MetaHuman は、Lumen のグローバル イルミネーションと併用できます。 ただし、Nanite 仮想化ジオメトリはスケルタルメッシュをサポートしていないため、MetaHuman と一緒に使えません。