Version: Unity 6.0 (6000.0)
言語 : 日本語
ミップマップストリーミングの分析
ストリーミング仮想テクスチャリング

スパーステクスチャ

スパーステクスチャ (“タイル化されたテクスチャ”、または “メガテクスチャ” とも呼ばれます) は、そのままグラフィックメモリに載せるには大きすぎるテクスチャです。Unity はそれらを扱う際、メインのテクスチャを “タイル” として知られる小さな四角形に分割します。こうすることで、必要に応じてタイルを個別にロードできます。例えば、カメラにスパーステクスチャの一部分しか映っていない場合、現在映っている部分のタイルだけがメモリ上に必要になります。

タイル化以外は、スパーステクスチャは他のテクスチャと同じように動作します。特別な変更をせずにシェーダーで使用でき、ミップマップや、あらゆるテクスチャフィルタリングモードの使用なども可能です。なんらかの理由で個別のタイルがロードできなかった場合、その結果は常に同じではありません。ロードできなかったタイル部分を黒で表示する GPU もありますが、このような挙動が標準というわけではありません。

ハードウェアやプラットフォームのすべてがスパーステクスチャをサポートしているわけではありません。例えば、DirectXシステムでは、DX11.2 (Windows 8.1) と最新の GPU が必要です。OpenGL では、ARB_sparse_texture 拡張子のサポートが必要です。スパーステクスチャは、圧縮されていないテクスチャ形式のみをサポートします。

スパーステクスチャをスクリプトから操作する方法は、SparseTexture のスクリプトリファレンスを参照してください。

サンプルプロジェクト

スパーステクスチャの簡単なサンプルプロジェクトは ここ から入手できます。

サンプルプロジェクトに表示されたスパーステクスチャ
サンプルプロジェクトに表示されたスパーステクスチャ

このサンプルでは、単純なプロシージャルテクスチャパターンを使用しており、カメラを動かしてテクスチャの異なる部分を映すことができます。このサンプルプロジェクトを試すには、最近の GPU と DirectX 11.2 (Windows 8.1) システム、または ARB_sparse_texture をサポートする OpenGL を使用する必要があります。

ミップマップストリーミングの分析
ストリーミング仮想テクスチャリング