詳細度が高くメッシュ密度が高い 3D モデルが複数含まれるシーンで作業していると、パフォーマンスの遅延につながる場合があります。 これに対処するため、Twinmotion で Nanite システムを使用できます。 Nanite は、Unreal Engine の仮想化ジオメトリシステムであり、高品質のフォトグラメトリ スキャンなど、複数のパーツや多数のトライアングルを備えた複数の複雑な 3D モデルを含むシーンで作業している場合に最適化を行い、スムーズなパフォーマンスを維持するよう設計されています。
3D モデルは、トライアングルと呼ばれる複数の三角ポリゴンで構成されます。 Nanite は、シーン内に占めるスクリーン空間オブジェクトの数に基づき、トライアングルの数をリアルタイムで動的に最適化することで、3D モデルのメモリ使用量とディスク容量を削減します。
オブジェクトがビューポート カメラから遠くにあり、画面上での占有空間が小さい場合、Nanite はそのオブジェクトのトライアングルの数を動的に削減します。 これにより、オブジェクトの複雑さが簡素化され、表示されるディテールのみがロードされてレンダリングされます。
オブジェクトがビューポート カメラの近くにあり、画面上での占有空間が大きい場合、Nanite はそのオブジェクトのトライアングルの数を動的に増加させ、オブジェクトがより詳細に表示されるようになります。
Nanite は、詳細度が高くメッシュ密度が極めて高いオブジェクトで使用することをお勧めします。 Nanite の対象として理想的な候補となるオブジェクトには、以下のようなものがあります。
画面上に多数または非常に小さなトライアングルが表示されるメッシュ。
シーン内に多数のインスタンスがある。
シーン内で他の Nanite ジオメトリの主要なオクルーダである。
正確なシャドウ マッピング オプションを使用してシャドウをキャストしている。
シャドウ マッピング オプションは、[Ambience (アンビエンス)] パネルの [Render (レンダー)] > [Shadows (影)] で定義されています。
フレーム レートが高くなる場合には、Nanite を使用すると効果的です。 統計 パネルを使用すると、フレーム レートをモニタリングし、その他のパフォーマンス データを確認できます。
Nanite の利点
従来よりも多くの数のトライアングルを持つ、非常に複雑なジオメトリを大量にリアルタイムで処理できます。
グラフィックス プロセッシング ユニット (GPU) フレーム レンダリングが、3D モデルのポリゴン数、グラフィック カードへのドロー コール、メッシュ メモリ使用量による制約を受けなくなりました。
ZBrush のスカルプトやフォトグラメトリ スキャンといった映画品質のソース アートをインポートします。
テクスチャのディテールを法線マップ テクスチャにベイクするのではなく、ポリゴン数が多いディテールを使用します。
詳細度 (LOD) は自動的に管理されるため、個々のメッシュを手動で設定する必要はありません。
品質の低下は、ほとんどまたは一切発生しないため、スムーズな LOD 遷移が実現します。
Nanite のサポート
現在、Nanite は、次のタイプのアセットで有効にすることができます。
[Geometry (ジオメトリ)] タブまたは Datasmith Direct Link ワークフローを使用して Twinmotion にインポートしたすべての静的なサポートされているジオメトリ。
Twinmotion の Sketchfab ライブラリからダウンロードしてシーンに追加した任意のスタティック 3D モデル。
[3D assets (3D アセット)] カテゴリと [3D plants (3D 観葉植物)] カテゴリの Quixel Megascans ライブラリ アセット。
現在、Nanite は、次のタイプのアセットでサポートされていません。
ライブラリの Twinmotion アセットと Quixel Megascans アセット。
インポート済みのアニメートされたファイルと Sketchfab ライブラリのアニメートされたファイル。
[Surfaces (サーフェス)] カテゴリと [Decals (デカール)] カテゴリの Quixel Megascans ライブラリ アセット
Nanite を有効にする
Nanite は、以下の方法で有効にすることができます。
Twinmotion にジオメトリをインポートする際のインポート オプション。
シーン内のオブジェクトで、シーン グラフまたは [Properties (プロパティ)] パネルを使用する。
インポート時に Nanite を有効にする
Twinmotion にジオメトリをインポートする際に Nanite を有効にするには、以下の操作を行います。
[Importing Geometry (ジオメトリのインポート)] ワークフローまたは Datasmith Direct Link ワークフローを使用し、ジオメトリを Twinmotion にインポートします。
[Import (インポート)] ウィンドウが表示されたら、次の操作を行います。
[Keep hierarchy (オブジェクト階層を維持する)] 再構成モードを選択していることを確認します。
[Enable Nanite (Nanite を有効化)] チェックボックスをオンにします。
[Import] をクリックします。
インポート時に Nanite を有効にすると、Twinmotion の [Preferences (環境設定)] パネルで定義された Nanite の設定によって、ジオメトリで Nanite を有効にする方法が決定されます。 コンテンツのインポート後は、これらの設定をオーバーライドできます。 詳細については、以下の「Nanite 設定」を参照してください。
シーン内のオブジェクトで Nanite を有効にする
シーン内のオブジェクトで Nanite が有効になっていない場合は、プロパティ パネルまたはシーン グラフ メニューから有効にすることができます。
プロパティ パネル:1 つのオブジェクトでのみ、またはシーン グラフ コンテナ内の少数の項目でのみ Nanite を有効にしたい場合はこの方法を使用します。
シーン グラフ メニュー:シーン グラフ内の 1 つ以上のコンテナでジオメトリが複数の部分に分割されている場合は、この方法を使用します。 Nanite は、親コンテナ内のすべての部分、および子コンテナ内のすべての部分で有効になります。
Nanite をプロパティ パネルから有効にするには、次の操作を行います。
ビューポートまたはシーン グラフで Sketchfab ジオメトリを選択します。
シーン グラフ内の 1 つ以上のコンテナでジオメトリが複数の部分に分割されている場合は、コンテナ内の部分のみを選択します。 コンテナが選択されている場合、Nanite を有効にすることはできません。
プロパティ パネルで [Nanite] をクリックして展開します。
(任意) Nanite 設定を変更します。 設定の詳細については、以下の「Nanite 設定」を参照してください。
[Enable (有効)] チェックボックスをオンにして、[Apply (適用)] ボタンをクリックします。
Nanite をシーン グラフから有効にするには、次の操作を行います。
シーン グラフで親コンテナを選択します。
メニューで、コンテナを右クリックし、[Convert all to Nanite (すべてを Nanite に変換)] を選択します。
Nanite は、親コンテナ内のすべての部分、および子コンテナ内のすべての部分で有効になります。
Nanite トライアングルのビューポート モード
Twinmotion には、シーンのさまざまな側面を調査するために使用できる、多様なビジュアライゼーション モードがあります。 これらの中に、Nanite ジオメトリのトライアングルを表示および調査できる Nanite トライアングル ビュー モードがあります。
Nanite トライアングル ビュー モードでは、シーン内のすべてのジオメトリ上のトライアングルを一度に表示できます。 これは、Nanite が有効かどうかを確認するのに効果的な方法となる場合があります。
Nanite トライアングル ビュー モードにアクセスするには、[View mode (ビュー モード)] アイコン (ビューポートの右上隅) をクリックし、メニューで [Nanite triangles (Nanite トライアングル)] を選択します。
Nanite 設定
次の表で、Nanite システムの設定について説明します。 この設定は、ビューポートまたはシーン グラフでジオメトリを選択することで、プロパティ パネルに表示されます。
| 設定 | 説明 |
|---|---|
Enable (有効) | 選択されている場合、Nanite はシーン内の選択されたオブジェクトで有効になっています。 |
Auto (自動) | 選択されている場合、ジオメトリで頂点の位置を生成するのに適切な精度が、ジオメトリのサイズに基づいて自動的に計算されます。 精度の向上やディスク容量の最適化のために、[Auto] の選択を解除し、[Precision (精度)] に値を入力することでこれをオーバーライドできます。 デフォルトでは、[Auto] が選択されています。 |
Precision (精度) | [Auto] の選択が解除されている場合、このオプションによってジオメトリ上の頂点を生成するための精度が定義されます。 オプション: 0.00122 mm ~ 64 cm デフォルトでは、10 mm が選択されています。 |
Preserve area (エリアを保持) | 選択されている場合、Nanite メッシュのトライアングルに開いている境界エッジがある場合は、展開されます。 Nanite が有効になっている場合、簡素化のため、メッシュのサーフェス エリアが失われ、開いた境界エッジのトライアングルになる場合があります。 このオプションを有効にすると、密度の高い森の中にある木の集合など、それぞれの葉のサイズが増加し、遠くの樹冠を薄くしにくい草木を使用する場合に特に役立ちます。 草の葉など、ジオメトリのリボンは厚くなります。 草木のメッシュのオプションでのみ有効にすることをお勧めします。 |
Apply (適用) | 変更を適用して保存するには、[Apply] ボタンをクリックします。 |
Nanite 設定を変更する
インポート時に Nanite を有効にした場合、またはシーン グラフで [Convert all to Nanite (すべてを Nanite に変換)] コマンドを使用した場合、Twinmotion の [Preferences (環境設定)] パネルで定義された Nanite の設定によって、ジオメトリで Nanite を有効にする方法が決定されます。 Nanite を有効にした後は、これらの設定をオーバーライドし、Nanite ジオメトリに適用できます。
Nanite 設定を変更するには、以下の操作を行います。
ビューポートまたはシーン グラフでオブジェクトを選択します。
シーン グラフ内の 1 つ以上のコンテナでジオメトリが複数の部分に分割されている場合は、コンテナ内の部分のみを選択します。 コンテナの選択時には Nanite 設定は表示されません。
プロパティ パネルで、Nanite 設定を変更します。
[Apply (適用)] ボタンをクリックします。
制限事項
Nanite には、いくつかの制限事項があります。 これらの制限事項は変更される可能性がありますが、現在の制限事項は以下のとおりです。
Nanite は macOS でサポートされていますが、M2 以降のチップを搭載したデバイスでのみです。
Nanite は、スタティック ジオメトリでのみ有効にすることができます。
以下の場合、Nanite を有効にすることはできません。
アニメートされたファイル。
ライブラリの Twinmotion アセットと Quixel Megascans アセット。
ガラスなど、透明なマテリアルを含むオブジェクト。
Nanite を有効にするには、ジオメトリのトポロジが次の規則に従っている必要があります。
メッシュに非マニフォールド エッジ、ホール、または内部の面を含めることはできません。
極端に小さい、または大きいメッシュは使用できません。
メッシュには一貫性があり、均一に分布している必要があります。