仮想テクスチャリングの参照情報

仮想テクスチャリングに関連するプロジェクト設定、コンソール コマンド、アクタの設定の参照情報が含まれます。

Windows
MacOS
Linux

このページでは、仮想テクスチャリング システムの要件、設定、コンソール コマンドについて説明します。

ストリーミング仮想テクスチャリングの設定

ストリーミング仮想テクスチャリング の設定と使用には、以下の設定とプロパティを使用します。

プロジェクト設定

プロジェクトで [Enable virtual texture support (仮想テクスチャのサポートを有効化)] が有効 (オン) になっているときには、 [Project Settings (プロジェクト設定)] ウィンドウの [Editor (エディタ)] および [Rendering (レンダリング)] カテゴリ内にある以下の設定を使用できます。

PS_EnableVT.png

レンダリング設定

利用可能なレンダリング設定は、 [Project Settings (プロジェクト設定)] ウィンドウの [Engine (エンジン)] > [Rendering (レンダリング)] > [Virtual Textures (仮想テクスチャ)] カテゴリにあります。

プロパティ

説明

Enable virtual texture support

有効な場合は、仮想テクスチャ システムを使用してテクスチャをストリーミングできます。この設定を変更するには、エディタを再起動する必要があります。

Enable virtual texture lightmaps

ライトマップは仮想テクスチャにベイクされます。つまり、ライトマップでは ストリーミング仮想テクスチャ のメリット (そしてデメリット) をすべて得ることができることを意味します。従来のライトマップ テクスチャ アトラス シートと比較すると、VT はレベルのすべてのライティングを単一のテクスチャに含めることができるため、バッチ処理の効率が向上します。これを変更した場合、プロジェクトに対してライティングを再ビルドする必要があります。この設定を変更するには、エディタを再起動する必要があります。

Tile size

仮想テクスチャ タイルのサイズ (ピクセル単位) です。「2 の累乗」ではない値は、すべて次の「2 の累乗」値に丸められます。この設定を変更するには、エディタを再起動する必要があります。

Tile border size

仮想テクスチャ タイルのサイズ (ピクセル単位) です。「2 の累乗」ではない値は、すべて次の「2 の累乗」値に丸められます。境界が大きいと異方性フィルタリングの度合いも上がりますが、より多くのディスク/キャッシュ メモリが使用されます。この設定を変更するには、エディタを再起動する必要があります。

Feedback resolution factor

係数の値が低いと仮想テクスチャ フィードバック解像度が上がり、CPU/GPU のオーバーヘッドも大きくなります。ただし、特にマテリアルで多数の仮想テクスチャを使用している場合は、ストリーミング レイテンシーが少なくなる場合があります。

Enable Zlib compression

仮想テクスチャの圧縮に Zlib を使用できるようになります。これにより、VT テクスチャのディスク I/O コスト (読み取りまたは書き込みの回数) が下がりますが、圧縮解除の CPU コストがかかるようになります。この設定を変更するには、エディタを再起動する必要があります。

Enable Crunch compression

仮想テクスチャの圧縮に Crunch ライブラリを使用できるようになります。Crunch は、(DXT/BC/ETC 圧縮を使用して) GPU ブロック圧縮されたテクスチャをさらに圧縮するためのオープンソース圧縮ライブラリです。ただし、非可逆圧縮であるため画質は低下します。Crunch を有効にすると、サポートされるテクスチャ形式に対してのみ使用されます。非可逆圧縮の度合いは、テクスチャ エディタの [Lossy Compression Amount (非可逆圧縮量)] プロパティの値によって VT アセットごとに設定することができます。デフォルト値を使用すると最小限の圧縮が適用され、画質は最高品質になりますが、メモリの使用は最大になります (それでも Zlib よりは低い)。非可逆圧縮は無効にすることもできます。また、圧縮の度合いを上げてメモリの使用を低くすることもできますが、画質も低下します。この設定を変更するには、エディタを再起動する必要があります。

エディタ設定

利用可能な編集設定は、 [Project Settings (プロジェクト設定)] ウィンドウの [Editor (エディタ)] > [Texture Import (テクスチャのインポート)] > [Virtual Textures (仮想テクスチャ)] カテゴリにあります。

プロパティ

説明

Auto Virtual Texturing Size

ここで設定したサイズ以上のテクスチャの [Virtual Texture Streaming (仮想テクスチャ ストリーミング)] テクスチャ設定を自動で有効にします。この設定はプロジェクトの既存テクスチャには影響しません。

テクスチャ エディタ

テクスチャ エディタを使用して、非可逆圧縮の量と、テクスチャで SVT をサポートするかどうかを設定します。

クリックしてフルサイズ表示。

プロパティ

説明

Compression

Lossy Compression Amount

関連する非可逆圧縮の適用の強さです。非可逆圧縮なしから最高値まで、利用可能なオプションを選択できます。最高値を選択するとファイル サイズは最小になりますが、画質は最低になります。

Texture

Virtual Texture Streaming

仮想テクスチャリングを使用してテクスチャをストリーミングするかどうかを設定します。このパラメータは、 [Editor (エディタ)] > [Virtual Texturing (仮想テクスチャリング)][Project Settings (プロジェクト設定)] にある [Auto Virtual Texturing Size (自動仮想テクスチャリング サイズ)] で設定したサイズ以上の、インポートされたテクスチャに対してデフォルトで有効になっていることに留意してください。

ランタイム仮想テクスチャ設定

プロジェクトでの ランタイム仮想テクスチャリング の設定と使用には、以下の設定とプロパティを使用します。

ランタイム仮想テクスチャ アセット

ランタイム仮想テクスチャ アセットを開いたら、このウィンドウを使用して、生成された RVT を参照する ランタイム仮想テクスチャ ボリューム を含むシーン内に存在する、これらの RVT に対するパラメータを設定します。RVT アセットは、 [Materials & Textures (マテリアル・テクスチャ)][Add New (新規追加)] メニューから作成できます。

RVTAsset_Settings.png

プロパティ

説明

Details

Page Table Texture Memory (estimated)

仮想テクスチャ アセットが消費するページ テーブル テクスチャ メモリの推定量です。

Physical Texture Memory (estimated)

仮想テクスチャ アセットが消費する物理メモリの推定量です。

Size

Size of the virtual texture in tiles

この RVT のタイルでのサイズです。RVT の最終的な解像度は、この値にタイル サイズを乗じた値です。現在 4096 タイルまでサポートされています。関連付けられた RVT ボリュームの幅または高さのいずれか (値が大きいほう) に適用されます。小さいほうの軸のサイズは、RVT ボリュームのアスペクト比に合わせて設定されます。

Size of each virtual texture tile

RVT で使用されるタイル サイズです。仮想テクスチャ データはタイルにレンダリングされ、保存されます。タイル サイズを小さく設定すると、各タイルを生成する負荷が下がりますが、より多くの数のタイルを生成する必要があります。

Border padding for each virtual texture tile

各タイルに使用されるパディング テクセルの数です。この値を大きく設定すると、メモリとパフォーマンスへの影響が小さくなります。「0」に設定すると、タイルのエッジ部分にバイリニア サンプリング アーティファクトからのシェーディング シームが発生します。「2」に設定することでこの問題は解決します。異方性サンプリングを有効にするには、より大きな値を設定する必要があります。

Layout

Virtual texture content

RVT に保存するマテリアル属性を選択します。

  • Base Color: ベース カラーのみを保存します。圧縮が有効な場合は BC1 形式で保存されます。

  • Base Color, Normal: ベース カラーと法線を保存します。圧縮が有効な場合、ベース カラーは BC1 形式で保存され、法線は BC5 として保存されます。

  • Base Color, Normal, Roughness, Specular: ベース カラー、法線、ラフネス、スペキュラを保存します。圧縮が有効な場合は、ベース カラーは BC1 形式で保存され、その他の属性は BC3 に収められます。

RVT を正しく機能させるためには、この設定を関連付けられているマテリアル アセットの設定と一致させる必要があります。

Enable BC texture compression

RVT に保存されているデータのテクスチャ圧縮を有効にします。これによりメモリの使用量が 1/4 から 1/8 となり、サンプリングのパフォーマンスが向上します。デバッグおよび品質比較では、無圧縮の使用のみが推奨されます。

Enable virtual texture

仮想テクスチャを有効にします。無効にすると仮想テクスチャへのレンダリングはなく、サンプリングは値ゼロを返します。

Enable clear before render

設定すると、レンダリング前に各タイルがクリアされます。テクスチャが常に完全にレンダリングされると分かっている場合は、これを無効にすると最適化につながります。

Enable packed page table

この設定の場合、RVT は最適化されたページ テーブル設定を使用します。この設定はページ テーブル メモリを削減し負荷を更新しますが、他の仮想テクスチャと物理メモリを共有する性能が低下します。

Enable private page table

設定すると、RVT はグローバルに共有なページ テーブル アトラスからではなく、ページ テーブル リソースを個々にアロケートします。これにより、ページ テーブル メモリ割り当て合計が減りますが、サポートされsる仮想テクスチャの合計も減ります。

Enable Scalability

設定すると、RVT のサイズは r.VT.RVT.TileCountBias スケーラビリティ設定によって調整できます。

Low Mips

Number of low mips to stream to the virtual texture

ランタイム レンダリングではなくストリーミングすべき RVT の低ミップ数です。ゼロ以外の値に設定するとパフォーマンスが上がりますが、ストリーミングは低ミップ仮想テクスチャを維持しなければなりません。

Streaming low mip texture

低ミップストリーミングの場合に使用されるストリーミング仮想テクスチャです。RVT に影響する変更をワールド コンテンツに行った後に再ビルドする必要があります。

Low Mips to Remove

RVT から削除する低ミップの数です。低ミップはほとんどのエリアを覆っているため、レンダリングに最も大きな負荷がかかります。これらを削除することでパフォーマンスが向上します。ただし、低ミップを使用しないと、最終のレンダリングにおいてミップのちらつきによるアーティファクトが発生することがあります。このオプションの代替として良い方法はストリーミング低ミップです。

Runtime Virtual Texture Sample ノード設定

マテリアル エディタの Runtime Virtual Texture 式のいくつかにおいて以下のプロパティが使用できます。

プロパティ

説明

Virtual Texture

サンプリングするランタイム仮想テクスチャ アセットです。

Virtual Texture Content

仮想テクスチャ コンテンツの解釈方法です。バインドされた仮想テクスチャ アセットは正しく動作するためにサンプリングを同じ設定をする必要があることに注意してください。

Enable packed page table

ページ テーブル チャンネル パッキングを有効にします。バインドされた仮想テクスチャ アセットは正しく動作するためにサンプリングを同じ設定をする必要があることに注意してください。

Texture Sample

Mip Value Mode

Mip Value プロパティが Runtime Virtual Texture 式でどのように仮想テクスチャ ルックアップに適用されるかを定義します。

  • None (計算されたミップレベルを使用): 自動異方性フィルタリング サポートを使ってハードウェアが計算したサンプルのミップ レベルを使用します。

  • MipLevel (絶対値、0 はフル解像度): 明示的にサンプルのミップレベルを計算します。異方性フィルタリングは無効になります。

  • MipBias (計算されたミップに関連): ハードウェアが計算したサンプルのミップレベルにバイアスをかけます。異方性フィルタリングは無効になります。

ランタイム仮想テクスチャ ボリューム

ランタイム仮想テクスチャ ボリューム を使用して ランタイム仮想テクスチャ アセットを割り当て、ランドスケープ アクタからのシーン内、および同じ RVT アセットを使用するシーン プリミティブ内に RVT を生成します。

RVT_VolumeSettings.png

プロパティ

説明

Virtual Texture

Virtual Texture

使用するランタイム仮想テクスチャ アセットです。

アクタのプロパティ

シーンのプリミティブおよびランドスケープには以下の設定およびプロパティを使用します。

プリミティブ

シーン内のアクタに固有の設定およびプロパティです。

RVT_ActorSettings.png

プロパティ

説明

Virtual Texture

Render to Virtual Textures

選択したアクタのメッシュがレンダリングされるランタイム仮想テクスチャの配列です。マテリアルも仮想テクスチャに出力するよう設定する必要があります。

Virtual Texture Pass Type

選択した仮想テクスチャ設定に応じて主パスにレンダリングします。

  • Virtual Texture (仮想テクスチャ): 有効な仮想テクスチャ ターゲットがない場合、アセットはレンダリングされません。このオプションは、仮想テクスチャのサポートが有効になっていない場合に削除されても問題のないアイテムに対して使用します。

  • Virtual Texture OR Main Pass (仮想テクスチャまたは主パス): 有効な仮想テクスチャがない場合に限り、主パスでアセットがレンダリングされます。このオプションは、仮想テクスチャのサポートの有無にかかわらずレンダリングする必要のあるアイテムに対して使用します。

  • Virtual Texture AND Main Pass (仮想テクスチャおよび主パス): アセットは有効なすべてのターゲット および 主パスにレンダリングされます。このオプションは、仮想テクスチャの読み取り、および仮想テクスチャへの書き込みの両方を行う必要のあるアイテムに対して使用します。例えば、ランドスケープの設定にはこのオプションが必要です。

Virtual Texture LOD Bias

ランタイム仮想テクスチャへのレンダリングに選択された LOD (詳細度) へのバイアスです。

Virtual Texture Skip Mips

プリミティブのレンダリング時にスキップする、ランタイム仮想テクスチャに含まれる低ミップの数です。この値を大きく設定すると、ランタイム仮想テクスチャで使われる描画距離が縮まります。カリングでは、プリミティブ サイズまたは仮想テクスチャ サイズは考慮されません。

Virtual Texture Min Coverage

ランタイム仮想テクスチャからのカリングを行う前の最小ピクセル カバレッジを設定します。この値を大きく設定すると、ランタイム仮想テクスチャで使われる描画距離が縮まります。

ランドスケープ

シーン内のランドスケープとランドスケープ スプライン アクタに特有の設定およびプロパティです。

RVT_LandscapeSettings.png

プロパティ

説明

Virtual Texture

Render to Virtual Textures

選択したアクタのメッシュがレンダリングされるランタイム仮想テクスチャの配列です。マテリアルも仮想テクスチャに出力するよう設定する必要があります。

Virtual Texture Pass Type

選択した仮想テクスチャ設定に応じて主パスにレンダリングします。

  • Virtual Texture (仮想テクスチャ): 有効な仮想テクスチャ ターゲットがない場合、アセットはレンダリングされません。このオプションは、仮想テクスチャのサポートが有効になっていない場合に削除されても問題のないアイテムに対して使用します。

  • Virtual Texture OR Main Pass (仮想テクスチャまたは主パス): 有効な仮想テクスチャがない場合に限り、主パスでアセットがレンダリングされます。このオプションは、仮想テクスチャのサポートの有無にかかわらずレンダリングする必要のあるアイテムに対して使用します。

  • Virtual Texture AND Main Pass (仮想テクスチャおよび主パス): アセットは有効なすべてのターゲット および 主パスにレンダリングされます。このオプションは、仮想テクスチャの読み取り、および仮想テクスチャへの書き込みの両方を行う必要のあるアイテムに対して使用します。例えば、ランドスケープの設定にはこのオプションが必要です。

Virtual Texture Num LODs

ランドスケープをランタイム仮想テクスチャにレンダリングする際に使用するメッシュ レベルの数です。この値は、仮想テクスチャのレンダリングに使用するマテリアルが、高さなどの頂点補間データを必要とする場合にのみ設定してください。この値を大きく設定するとテッセレーションされたメッシュがより多く使用され、ランタイム仮想テクスチャをレンダリングする際の負荷が高くなります。

Virtual Texture LOD Bias

ランタイム仮想テクスチャへのレンダリングに選択された LOD (詳細度) へのバイアスです。

ランドスケープ スプライン

シーン内のランドスケープとランドスケープ スプライン アクタに特有の設定およびプロパティです。

RVT_LandscapeSplineSettings.png

プロパティ

説明

Virtual Texture

Render to Virtual Textures

選択したアクタのメッシュがレンダリングされるランタイム仮想テクスチャの配列です。マテリアルも仮想テクスチャに出力するよう設定する必要があります。

Virtual Texture Pass Type

選択した仮想テクスチャ設定に応じて主パスにレンダリングします。

  • Virtual Texture (仮想テクスチャ): 有効な仮想テクスチャ ターゲットがない場合、アセットはレンダリングされません。このオプションは、仮想テクスチャのサポートが有効になっていない場合に削除されても問題のないアイテムに対して使用します。

  • Virtual Texture OR Main Pass (仮想テクスチャまたは主パス): 有効な仮想テクスチャがない場合に限り、主パスでアセットがレンダリングされます。このオプションは、仮想テクスチャのサポートの有無にかかわらずレンダリングする必要のあるアイテムに対して使用します。

  • Virtual Texture AND Main Pass (仮想テクスチャおよび主パス): アセットは有効なすべてのターゲット および 主パスにレンダリングされます。このオプションは、仮想テクスチャの読み取り、および仮想テクスチャへの書き込みの両方を行う必要のあるアイテムに対して使用します。例えば、ランドスケープの設定にはこのオプションが必要です。

Virtual Texture Num LODs

ランドスケープをランタイム仮想テクスチャにレンダリングする際に使用するメッシュ レベルの数です。この値は、仮想テクスチャのレンダリングに使用するマテリアルが、高さなどの頂点補間データを必要とする場合にのみ設定してください。この値を大きく設定するとテッセレーションされたメッシュがより多く使用され、ランタイム仮想テクスチャをレンダリングする際の負荷が高くなります。

Virtual Texture LOD Bias

ランタイム仮想テクスチャへのレンダリングに選択された LOD (詳細度) へのバイアスです。

Virtual Texture Skip Mips

プリミティブのレンダリング時にスキップする、ランタイム仮想テクスチャに含まれる低ミップの数です。この値を大きく設定すると、RVT で使われる描画距離が縮まります。カリングでは、プリミティブ サイズまたは仮想テクスチャ サイズは考慮されません。

Max Draw Distance in Main Pass

Virtual Texture と Main Pass の両方をレンダリングする場合のメインパスでの望ましいカリング距離。ここの強度は 0 に設定されています。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback