MetaHuman を構成するさまざまなコンポーネントには、さまざまな 詳細度 (LOD) があります。 LOD は、メッシュまたはグルームの複雑さを、カメラからの距離に応じて制御します。 たとえば、カメラの近くにある MetaHuman (プレイヤー キャラクターなど) は、群集を作っている多数の MetaHuman よりも詳細になります。
このページでは、さまざまな MetaHuman コンポーネントで LOD がどのように機能するかについて説明します。
Unreal Engine での LOD の詳細については、Unreal Engine のドキュメントの「スケルタルメッシュ LOD」ページを参照してください。
LOD同期コンポーネント
MetaHuman のブループリントは、MetaHuman の視覚的表現を構成するさまざまなコンポーネントをすべてまとめたものです。 これらのコンポーネントは、いろいろなタイプのジオメトリと異なる数の LOD を使用します。
LODSync コンポーネントは、異なる MetaHuman コンポーネント間で LOD を管理および同期します。そのため、通常の LOD のように個別にではなく、独自の画面サイズに基づいて同時に切り替えることができます。 これにより、ボディ、頭、髪、衣服を構成する他の MetaHuman コンポーネントの視覚的な品質と一貫性が、LOD の数が同じでなくても維持されます。
たとえば、首の上のコンポーネント (顔、およびすべてのグルーム) は最大 8 つの個別の LOD を使用できますが、首の下のコンポーネント (ボディ、足、脚、胴体) には 4 つの LOD しか使用できません。 LODSync コンポーネントが原因で、首より上のコンポーネントで発生する 2 つの LOD 品質が変更になるたびに、首より下で発生する LOD 品質は 1 つだけ変更になります。
LODSync コンポーネントは、[Components (コンポーネント)] パネルの最下部の MetaHuman ブループリントにあります。
わかりやすくするため、MetaHuman ブループリントにはデフォルトで BP_MetaHumanName という名前が付けられています。 たとえば、MetaHuman の名前が Roux の場合、ブループリントの名前は BP_Roux になります。
LODSync コンポーネントを選択すると、[Details (詳細)] パネルの [LOD] カテゴリでその設定を構成できます。
LODSync コンポーネントには、次の構成可能なプロパティがあります。
| プロパティ | 説明 |
|---|---|
LOD 数 | 他の MetaHuman コンポーネントが使用できる LOD の最大数を設定します。 デフォルトでこれは「8」に設定されています。 「-1」が設定されている場合、すべてのコンポーネントの LOD が計算され、使用される LOD の最大数が決定されます。 |
強制された LOD | MetaHuman の全てのコンポーネントで使用する LOD を設定します。 デフォルトでこれは「-1」に設定されています。つまりこれは、LOD が LODSync コンポーネントによって制御される他の設定に基づき自動的に切り替わります。 これを「0」に設定すると、すべてのコンポーネントで最高品質の LOD が使用されます。「8」に設定すると、最低品質の LOD が使用されます。 群衆といったような多数の MetaHuman に対して Forced LOD を「0」または「1」に設定すると、ゲームのパフォーマンスに悪影響を与える可能性があることに注意してください。 |
Min LOD | コンポーネントを同期するときに使用する最小 LOD。 デフォルトでこれは「0」に設定されています。 |
同期するコンポーネント | LOD が別のコンポーネントによって制御または制御される可能性のあるコンポーネントの配列。 コンポーネントには、Name (名前) と Sync Option (同期オプション) があり、それらで次の他のコンポーネントと同期する方法を制御します。
Drive としてフラグが付けられたコンポーネントが優先順位の高いものとして扱われます。その際、優先順位が最も高いのはリストの最後のコンポーネントです。 最も優先度の高い可視コンポーネントが、他のすべてのコンポーネントの LOD を設定します。 可視コンポーネントが存在しない場合は、優先順位が最も高い不可視コンポーネントが LOD を設定します。 |
Custom LOD Mapping | LOD の切り替え方法をより細かく制御できるコンポーネントの配列。 MetaHuman の場合、各マッピングに 8 つの LOD が含まれており、それらの LOD が適宜マッピングされています。 たとえば、以下のスクリーンショットでは、全体的な LOD の変化 2 回ごとにボディのコンポーネントが 1 回 LOD を切り替えていることがわかります。 Unreal Engine の配列アイテムには常に 0 から始まる番号が付けられることに注意してください。 |
グルーム アセット LOD
MetaHuman は、実際の人間と同じように、さまざまな量の毛髪が頭や顔を覆っています。 これには、ヘアスタイル、眉毛、まつげ、あごひげ、口ひげ、うぶ毛 (人体を覆う細い髪で、「ピーチファズ」とも呼ばれます) が含まれます。
これらのタイプの毛髪はすべて、Unreal Engine にグルーム アセットとして保存されています。 各グルーム アセットには、「グルーム アセット エディタ」で個別の構成が存在します。 グルームは、さまざまなタイプのジオメトリ (個々のストランドからカード、低ポリメッシュまで) で構成できるため、最適な LOD で表示されるように構成および設定することが重要です。 たとえば、最高品質の LOD を用いた数十個の MetaHuman を使用するリアルタイム シーンでは、ローエンドのハードウェアではストランドベースのグルームがうまく動作しない可能性があります。その際は、これらのグルームをヘアカードまたはメッシュに変更するとパフォーマンスが向上します。
Unreal Engine でのグルーム アセットの操作の詳細については、Unreal Engine ドキュメントの「グルーム アセット エディタのユーザー ガイド」ページを参照してください。
以下のスクリーンショットは、MetaHuman のヘアスタイルのグルームがグルーム アセット エディタでどのように表示されるかを示しています。 LOD パネルは右側 (1) に表示されています。 左側 (2) の情報ボックスには、現在の LOD と、現在の画面サイズに対するストランドの数に関する情報が表示されるため、便利です。
[LOD] パネルでは、このグルーム アセットが持つすべての個々の LOD を管理できます。 各 LOD のデシメーションの量 (均一な縮小)、グルームが次の LOD に切り替える画面サイズ、このグルームがサポートするジオメトリの種類などの設定を構成できます。
グルーム アセットは、次の 3 種類のジオメトリをサポートしています。
Strands (ストランド)
Cards (カード)
メッシュ
これらの各タイプには独自のパネルがあり、個々のプロパティをさらにカスタマイズできます。
以下の例は、各グルーム アセット ジオメトリ タイプの最大の LOD を設定しています。
Unreal Engine プロジェクトが、厳密なパフォーマンス要件を持つ特定のプラットフォームを対象としている場合は、グルーム アセット エディタの [LOD] パネルで使用する [Minimum LOD (最小 LOD)] を指定することもできます。 この設定は、[LOD] パネルの個々の LOD 設定の後ろにあります。 たとえば、ストランドベースのヘアを使用する必要がない場合は、[Minimum LOD] をカードベースのヘア ジオメトリの最高品質である「3」に設定できます。
一部のプラットフォームで LOD オーバーライドのみを構成する必要がある場合は、[Add (追加) (+)] をクリックして、構成するプラットフォームを選択します。 このメニューに表示されるプラットフォームは、Unreal Engine のインストールがどのように構成されているかによって異なります。 より多くのプラットフォームのサポートを追加する方法の詳細については、Unreal Engine ドキュメントの「Unreal Engine をインストールする」ページを参照してください。
ストランドの代わりにヘアカードを強制する
ストランドベースのヘア グルームが必要ない場合は、以下のコンソールコマンドを使用して、ストランドを使用していたであろうすべてのヘア グルームに対して、ストランドではなくカードベースのジオメトリの使用を強制します。
r.HairStrands.UseCardsInsteadOfStrands 1
このコマンドは、メッシュベースのヘア ジオメトリには影響しません。