このページでは、Unreal Engine プロジェクトで MetaHuman をロードして効果的に使用するための、すべての MetaHuman に関する要件の参照情報を記載しています。これには、必要となるプロジェクト設定、プラグイン、およびコンソール変数も含みます。また、MetaHumans を使用した作業に役立つその他の関連する設定とコマンドも解説します。
MetaHumans を Unreal Engine で使用するための要件
MetaHuman を初めて Unreal Engine に導入すると、不足しているプロジェクト設定、プラグイン、およびコンソール コマンドを有効にするように求めるポップアップ プロンプトが表示されます。これらが設定されていない場合、MetaHumans が機能しないか、正しくロードされない可能性があります。
有効にする必要がある設定、プラグイン、およびコンソール コマンドのポップアップ メッセージ。クリックして拡大表示。
これらのメッセージが表示されたら、[Enable Missing (不足しているものを有効にする)] を押してプロジェクトのこれらのプロジェクト設定とプラグインを有効にして追加します。
プロジェクト設定とコンソール変数
Quixel Bridge からの MetaHuman の初回インポート時は、次のプロジェクト設定とコンソール変数を有効化するように求められます。これらは、「Config」フォルダのプロジェクトのルート ディレクトリにある「DefaultEngine.ini」コンフィギュレーション ファイルに追加されます。たとえば、 [MyProject]/Config
です。
コンフィギュレーション ファイルでは、これらのコマンドは[ConsoleVariables]
セクションと [/Script/Engine.RendererSettings]
セクションに追加されます。
コンソール変数 | 説明 | 必要な値 |
---|---|---|
r.GPUSkin.Support16BitBoneIndex |
スケルタル メッシュの個々のセクションでレンダリングするために、256 を超えるボーン インデックスのサポートを有効にします。 | True |
r.GPUSkin.UnlimitedBoneInfluences |
GPU スキニングで、デフォルトの 4/8 ではなく、無制限のボーン影響度を使用するかどうかを指定します。これはランタイム時に変更することはできません。 | True |
r.SkinCache.BlendUsingVertexColorForRecomputeTangents |
接線が、法線が別のスケルタル メッシュと確実に一致するように、スケルタル メッシュ上のいくつかの頂点に対して再計算されます。オプション 2 は、緑色の頂点カラーを使用してこの操作を実行します。たとえば、MetaHumans では、頭と首、およびボディに別々のスケルタル メッシュが使用されます。このコマンドを使用すると、首の頂点がボディの頂点と確実かつ正確に一致するようになります。 | 2 |
r.SkinCache.CompileShaders |
GPU の計算スキニング キャッシュ シェーダをコンパイルするかどうかを指定します。頂点シェーダのスキンではなく、計算ジョブのスキニング用にシェーダをコンパイルします。 | True |
r.SkinCache.DefaultBehavior |
[Support Compute Skin Cache (スキン キャッシュの計算をサポート)] (r.SkinCache.CompileShaders ) が有効になっている場合でも、すべてのスケルタル メッシュがデフォルトでスキン キャッシュを使用するわけではありません。使用するには、それらがオプトインする必要があります。すべての MetaHuman メッシュがオプトインするように設定されています。 |
0 |
SkeletalMesh.UseExperimentalChunking |
MAX_GPUSKIN_BONES が設定されている場合、このプロパティは作成されるスキン処理された「チャンク」の数を減らします。これにより、首や胴体の周りなど、頂点が一致する必要がある場所で、シーム ラインなどのアーティファクトが発生する可能性があります。 |
1 |
fx.Niagara.ForceLastTickGroup |
他のすべてのグループのヘアの後、ナイアガラの順序/依存関係を最後のティック グループで強制的に評価します。無効にすると、物理アセットが更新される前にナイアガラが評価され、場合によってはコリジョンが 1 フレーム遅れます。 | 1 |
これらの変更を有効にするは、エディタを再起動する必要があります。
プラグイン
Quixel Bridge からの MetaHuman の初回インポート時は、次のプラグインの有効化を求められます。これらはすべて Unreal Engine に含まれており、 [Windows] > [Plugins (プラグイン)] ブラウザにあります。
プラグイン | 説明 |
---|---|
Groom | Unreal Engine でのヘア グルームのレンダリングとシミュレーションのサポートを有効にします。 |
Rig Logic Plugin v6.2.0 | 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 | コンテンツを QuixelBridge から Unreal Engine にシームレスにエクスポートできるようにします。 |
これらの変更を有効にするは、エディタを再起動する必要があります。
MetaHumans 用の追加のコンソール コマンド
次のセクションでは、特定のコンフィギュレーション ファイル (*.ini) に使用および追加できる、追加のコンソール コマンドについて説明します。
モバイル コンフィギュレーション コマンドでの MetaHumans
モバイル プラットフォームでは、 スキン処理されたキャラクターのボーンは最大 75 個に制限されています。1 回のドロー コールでモバイル GPU でスキンできるボーンの最大数がこの数字となります。MetaHuman をデプロイ先のモバイル デバイスにロードして実行できるようにするには、プロジェクトの「DefaultEngine.ini」コンフィギュレーション ファイルに次のコマンドを追加します。次を [ConsoleVariables]
セクションの下に配置します。
Compat.MAX_GPUSKIN_BONES=75
DefaultDeviceProfiles.ini のコンフィギュレーション コマンド
デバイス プロファイル を使用すると、デバイスおよびプラットフォーム固有の構成を設定できます。これにより、スケーラビリティ、レンダリング、テクスチャなど、そのデバイスまたはプラットフォームにのみ影響する多くのプロパティをデバイス プロファイルに設定できます。
[Tools] > [Platforms] メニューにある [Device Profiles] ウィンドウから、デバイス プロファイル オプションを管理および設定できます。または、独自の「DefaultDeviceProfiles.ini」コンフィギュレーション ファイルをプロジェクトの「Config」フォルダに手動で追加することもできます。
クリックして拡大表示。
テクスチャ LOD グループ
MetaHumans は大きな 8K テクスチャを使用しますが、これはすべてのデバイスとプラットフォームに適しているわけではありません。TextureLODGroups を使用すると、特定の TextureGroups でサポートされている最小および最大の LOD (mip) を管理できます。これらは、[Mip Gen Settings (ミップ全般設定)] によって テクスチャ エディタ で設定されます。
モバイル デバイスでは、コンフィギュレーション ファイルの [Max LOD Size] に関連付けられた値を変更する必要があります。
または、エディタ内の [Device Profiles] ウィンドウを使用して、編集するデバイスまたはプラットフォームを選択することもできます。これを行うには、 Texture LODGroups 列の下にある [ペン] のアイコンをクリックします。
クリックして拡大表示。
編集するテクスチャ グループ (World、WorldNormalMap など) を選択します。カテゴリを展開し、[Max LOD Size]を変更します。
クリックして拡大表示。
サポートされているプラットフォームと推奨される最適なテクスチャサイズの詳細については、「プラットフォームおよび LOD の仕様」を参照してください。
早期 Z パスのカリング
早期 Z パス は、ベース パスの深度のみのカリングを初期化するために使用されます。モバイルやその他のタイプのプラットフォームの場合、ヘアのレンダリングを速くすることができます。
モバイル デバイスでは、コンソール コマンド エントリの前に +CVars= を追加することで、目的のプラットフォームのコンフィギュレーション ファイルにコンソール変数を追加できます。たとえば、次のように確認します。
+CVars=r.EarlyZPass=3
または、エディタ内の [Device Profiles] ウィンドウを使用して、編集するデバイスまたはプラットフォームを選択することもできます。これを行うには、CVars 列の下にある [ペン] のアイコンをクリックします。
クリックして拡大表示。
[Console Varieables (コンソール変数)] カテゴリで [+] アイコンを押して、追加するコンソール変数に関連するサブカテゴリを展開します。ここでは、カテゴリの関連するコンソール変数内を検索することもできます。それにより、そのサブカテゴリに固有の変数のみを表示して、適切な場所へと配置できます。
クリックして拡大表示。
Android と iOS では以下の使用を推奨します。
r.EarlyZPass=3
r.Mobile.EarlyZPassOnlyMaterialMasking=1
一般的なプラットフォーム コマンド
これらのセクションのコンソール変数は、独自のプラットフォーム固有のコンフィギュレーション ファイルに格納されます。
たとえば、プロジェクトに「[MyProject]/Config/
髪の束 (ヘア ストランド) の品質設定
次のヘア コマンドは、MetaHumans のヘアの品質を向上させます。また、不要な設定をオフに切り替えることでパフォーマンスを改善できる要素を把握することができます。
これらのコマンドを使用すると、キャラクターの髪の毛によってキャストされるシャドウの詳細がより高品質になります。また、ライトがヘア グルームを透過するときのディテールもより高品質になります。これらのコマンドは、デフォルト値と比較して、より多くの GPU 時間とより多くの GPU メモリを使用することで、品質を向上させます。
「
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 のパフォーマンスが低下したりする可能性があります。
コンソール変数 | 説明 | 変更値 |
---|---|---|
r.HairStrands.SkyAO |
環境ライティングでグルームがキャラクターの顔にオクルージョンをキャストする必要がない場合は、スカイ ライトからアンビエント オクルージョンを無効にすることができます。これを無効にすると、GPU 時間を節約できます。 | 0 |
r.HairStrands.Visibility.MSAA.SamplePerPixel |
これは、ピクセルあたりのヘア サンプルの数を制御します。サンプル数を増やすと品質は向上しますが、フレームあたりの負荷が増大します。 | 2 |
r.HairStrands.MinLOD |
これにより、クック処理で一部のヘア LOD が完全に削除され、ターゲット デバイスのメモリを消費しなくなります。(MetaHumans LOD 0 および 1 で提供される) ストランドベースのグルームの場合、大量のメモリを使用するため、モバイルなどのプラットフォームには適していません。 | 3 |
Unreal Engine 5.0以降、髪の束はパストレーシングを使用してレイトレーシングされます。そのため、パフォーマンスの点でコストが高くなります。
プラットフォーム スケーラビリティのオーバーライド
Unreal Engine では、多数のプリセット スケーラビリティ オプションが用意されています。これらのプリセットは、レベル エディタのツールバーの [Settings (設定)]> [Engine Scalability Settings (エンジンの拡張機能設定)] にあります。これらの スケーラビリティ設定 によって、低品質なものをシネマティック品質へと個別に品質に切り替えることができます。また、それらによって「[UE Engine Path]/Engine/Config
」フォルダの「BaseScalability.ini」コンフィギュレーション ファイル内のコンソール コマンドを切り替えることもできます。
クリックして拡大表示。
これらのデフォルトのスケーラビリティ プリセットは、独自のプロジェクトに使用したり、プラットフォームごとに上書きしたりすることもできます。プロジェクトのプラットフォームごとのプリセットをオーバーライドするには、「
コンフィギュレーション ファイル内で、スケーラビリティ セクションと同じ命名規則を使用し、独自のコンソール変数と値のセットを追加してそれらを置き換えることにより、スケーラビリティをオーバーライドできます。
たとえば、 BaseScalability.ini
で、 [EffectsQuality@3]
の設定を置き換える場合は、Windows などの「
[EffectsQuality@3]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=3
モバイル プラットフォーム用に設定された例を確認するには、MetaHumans サンプル プロジェクトをダウンロードして、「Configs」フォルダに移動します。そのフォルダ内に、iOS と Android 用に設定されたサンプルがあります。
プラットフォーム スケーラビリティの便利な設定
以下は、追加すると品質とパフォーマンスの制御に役立つスケーラビリティ オプションです。
コンソール変数 | 説明 | 変更値 |
---|---|---|
r.SSS.Burley.Quality |
これにより、分離可能なトランスミッションで散乱を実行するために Burley のサブサーフェス スキャッタリングをフォールバックに切り替えられ、パフォーマンスが向上します。 | 0 |
r.SSS.HalfRes |
これにより、サブサーフェス スキャタリング アルゴリズムの一部を半分の解像度で実行できます。これにより、解像度は低くなりますが、レンダリングは高速になります。 | 1 |
r.HairStrands.UseCardsInsteadOfStrands |
これにより、プロジェクト内のすべてのグルーム要素がストランドではなくカードとメッシュのジオメトリを強制的に使用します。使用可能なカード ジオメトリがない場合、何も表示されません。 | 1 |
Nanite と Lumen
MetaHuman は Lumen Global Illumination と機能します。ただし、Nanite Virtualized Geometry はスケルタルメッシュをサポートしません。従って MetaHuman とは機能しません。