レンダリングパス
DirectX 11 and OpenGL Core

LOD

シーン内のオブジェクトがカメラから遠く離れている場合、見る事のできるディティールの量は大幅に減ります。しかし、ディティールが見えなくなっても、オブジェクトをレンダリングするために必要な三角形の数は変わりません。 Level Of Detail (LOD) と呼ばれる最適化手法は、カメラとオブジェクトの距離が離れた場合にレンダリングする三角形の数を減らす事ができます。シーン内の全てのオブジェクトが同時にカメラに近づくような事が無ければ、 LOD によってハードウェアの負荷が軽減され、レンダリング性能が向上します。

Unity では、 LOD Group コンポーネントを使うとオブジェクトに対して LOD レンダリングをセットアップできます。詳細はマニュアルに示されていますが、下記の画像では、LOD レベルを使用するとカメラからの距離によってオブジェクトのレンダリングがどのように変更されるか確認できます。最初に見えているのは LOD レベル 0(最も詳細な状態)です。

LOD 0 の時のカメラ
LOD 0 の時のカメラ

次の画像は、オブジェクトが遠くにあるとき、描画される三角形の数が少ない状態を示しています。メッシュの細かな情報が軽減されている(三角形の数が少なくなっていること)のに注意してください。

LOD 1 の時のカメラ
LOD 1 の時のカメラ

LOD レベルの設定は、ターゲットプラットフォームと使用可能なレンダリング性能に多少依存するため、Unity では 画質設定 によって最大 LOD レベルと LOD バイアスプリファレンス(高度な適応や距離に応じた低 LOD レベル)を提供しています。

インポートオブジェクトに対する LOD の命名規則

_LOD0、_LOD1、_LOD2、等のたくさんの LOD レベルに対応した名前で終わるメッシュセットを作成した場合、名前の設定に応じたオブジェクトを持つ LOD グループがインポート時に自動的に作成されます。たとえば、メッシュのベース名が Player である場合は、次の 3 つの LOD レベル Player_LOD0Player_LOD1Player_LOD2 という名前のオブジェクトを生成することができます。前提とされる番号付け規則は LOD 0 が最も詳細なモデルであり、LOD の増加に応じて粒度は減少します。

レンダリングパス
DirectX 11 and OpenGL Core