Choose your operating system:
Windows
macOS
Linux
このページでは、Unreal Engine 4 (UE4) プロジェクトでボリューム テクスチャを用いる方法を説明します。
テクスチャ エディタ - ビューモード
デフォルトでは、テクスチャ エディタはボリューム テクスチャを一連の 2D タイルとして表示します。[View Mode (ビュー モード)] を [Depth Slices (深度スライス)] から [Trace into Volume (ボリュームにトレース)] に変更することで、3D でのボリューム テクスチャの外観を視覚化することもできます。
下の画像では、スライダーを使って 2 つのビューモードの違いを比較できます。
テクスチャ エディタ - アルファ
ボリューム テクスチャではアルファ チャネルも活用できます。アルファ チャネルが無効の場合、各テクセルのオパシティは選択された色の強度となります。以下の画像では、スライダーを使って、アルファ情報を使用する場合と使用しない場合の違いを比較できます。
圧縮設定
ボリューム テクスチャは圧縮できますが、正しく圧縮するためのいくつかの注意事項があります。
ボリューム テクスチャとそのミップを圧縮するには、まず、次のコードを実行します。
bool UVolumeTexture::ShaderPlatformSupportsCompression(EShaderPlatform ShaderPlatform)
このコードからは、指定したプラットフォームに対して true が返される必要があります。これに加えて、次のコードからもサポートされている形式が返される必要があります。
ITargetPlatform::GetTextureFormats()
GetDefaultTextureFormatName() には bSupportCompressedVolumeTexture というパラメータが追加されて、その機能が拡張されました。
PC Volume Texture Compression (PC ボリューム テクスチャ圧縮): ユーザーが PC ターゲット プラットフォームで DX11 または DX12 以外のものを選択した場合、テクスチャの圧縮は 無効 になります。
OpenGL Volume Texture Compression (OpenGL ボリューム テクスチャ圧縮): OpenGL は X、Y、Z でテクセルをシャッフルするタイリング パターンを適用します。これは、タイリング パターンが X と Y にのみ適用されるその他のプラットフォームとは異なる動作をします。
現行のテクスチャ圧縮機能では Z タイリングはサポートされていないため、OpenGL をサポートする必要がある場合は、PC は圧縮されていないデータを使用することになります。
ボリューム テクスチャ FAQ
以下は、ボリューム テクスチャの使用に関する UE4 のデベロッパーからの一般的な質問への回答です。
DX1/DX12 ですべてのテクスチャ圧縮形式をサポートする計画はありますか?
可能な限り多くの圧縮形式をサポートする予定です。
ボリューム テクスチャは、どの RHI およびプラットフォームと互換性がありますか?
現在、UE4 のほとんどのプラットフォームでボリューム テクスチャが使用されています。コードを見ると GSupportsTexture3D という名前のグローバル変数があり、その値は Android フォンの一部を除くすべてのプラットフォームで true となります。
ボリューム テクスチャ アセット用に作成あるいは変更されたブループリント ノードはありますか?
ありません。現在、ボリューム テクスチャはマテリアル内でのみ使用可能です。
この機能はどのような場合に使用することを意図していますか?
ボリューム テクスチャは流体シミュレーションやボリュメトリック フォグなど多種多様なエフェクトに使用できます。
ボリューム テクスチャの使用に既知の制限はありますか?
現行のボリューム テクスチャは、テクスチャ ストリーミングまたはレンダー ターゲットとの併用は**できません**。
ボリューム テクスチャのプロパティ
次の表に各ボリューム テクスチャ プロパティの機能を示します。
プロパティ |
定義 |
---|---|
Source Texture |
ボリューム テクスチャのビルド元の参照テクスチャ (オプション) |
Tile Size X |
参照テクスチャのタイルサイズ X |
Tile Size Y |
The reference Texture tile size Y. |