バーチャル テクスチャリング

利用可能なバーチャル テクスチャリング手法の概要です。

Windows
MacOS
Linux

実行時にメモリの使用量を抑え、変動を少なくするために、大きなテクスチャを作成して使用できる バーチャル テクスチャ (Virtual Texture) をプロジェクトで使用できます。

バーチャル テクスチャリング手法

Unreal Engine 4 (UE4) では、ランタイム バーチャル テクスチャリング (RVT) と ストリーミング バーチャル テクスチャリング (SVT) という 2 種類のバーチャル テクスチャリング手法をサポートしています。

ランタイム バーチャル テクスチャ

ストリーミング バーチャル テクスチャ

  • 非常に高い解像度のテクスチャをサポート

  • オンデマンドでメモリにテクセル データをキャッシュ

  • テクセル データは実行時に GPU によって生成

  • プロシージャル テクスチャや合成されたレイヤー化マテリアルなど、オンデマンドでレンダリングできるテクスチャ データに最適

  • 非常に高い解像度のテクスチャをサポート

  • オンデマンドでメモリにテクセル データをキャッシュ

  • ディスクからテクセル データをクックし、ロード

  • ライトマップや、アーティストが制作した詳細でサイズの大きいテクスチャなど、生成に時間のかかるテクスチャ データに最適

ランタイム バーチャル テクスチャ

ランタイム バーチャル テクスチャリング を使うと、複雑でプロシージャルに生成されたマテリアルやレイヤー化されたマテリアルを効率よくレンダリングできます。そのため、ランドスケープの複雑なマテリアルのレンダリングに最適です。ランドスケープ スプライン、デカール型のメッシュやマテリアル、一般的なランドスケープとオブジェクトのブレンドのレンダリング パフォーマンスやワークフローを改善できます。

詳細については、「レイトレーシングの設定」を参照してください。

Streaming Virtual Texturing

ストリーミングバーチャルテクスチャリング を使用すると、バーチャル テクスチャ ライトマップや UDIM (U-次元) のサポートなど、非常に大きなテクスチャ サイズを扱うときに、テクスチャ メモリのオーバーヘッドを削減できます。ストリーミング バーチャル テクスチャは、ミップ ベースのストリーミング テクスチャと同様に、ディスクからテクスチャをストリーミングする手法の 1 つです。

詳細については、「レイトレーシングの設定」を参照してください。

バーチャル テクスチャ ライトマップ

バーチャル テクスチャ ライトマップのサポートを有効にすると、ストリーミングのパフォーマンスとライトマップのベイクの質を高めることができます。

ライトマップのバーチャルテクスチャのサポートを有効にするには、[Project Settings (プロジェクト設定)][Engine (エンジン)] > [Rendering (レンダリング)] に移動し、 [Enable virtual texture lightmaps (バーチャル テクスチャ ライトマップを有効化)] をオンにします。

PS_EnableVTLightmaps.png

プロジェクトで使用するバーチャル テクスチャ ライトマップを制御するには、以下のコンソール変数を有効にします。

コンソール変数

説明

r.IncludeNonVirtualTexturedLightmaps

バーチャル テクスチャではないライトマップを生成/保存するかどうかを制御します。バーチャル テクスチャではないライトマップを含めると、アトラスのサイズが制約されるため、バーチャル テクスチャ ライトマップのメリットの一部が失われます。

r.VT.EnableLossyCompressLightmaps

バーチャル テクスチャ ライトマップの非可逆圧縮を有効にします。非可逆圧縮をライトマップ テクスチャで使用する場合は、通常のカラー テクスチャと比べて品質が劣ります。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる