このページには、メッシュの LOD (Level of Detail) に関する情報を掲載しています。シェーダーの LOD に関する情報は、SubShader LOD の値 を参照してください。
LOD とは、Unity が遠くにあるメッシュをレンダリングするのに必要な GPU 演算の回数を減らす技術です。
シーン内のゲームオブジェクトは、カメラから遠くにあるときには、カメラの近くにあるときと比べて、細かい部分が見えません。しかし、デフォルトでは、Unity はどちらの距離でも同じ数の三角形を使用してゲームオブジェクトをレンダリングします。その結果、GPU 演算が無駄になり、シーンのパフォーマンスに影響が及ぶ可能性があります。
LOD 技術は、レンダリングするゲームオブジェクトの三角形の数をカメラからの距離に基づいて減らすことができます。LOD 技術を使用するには、ゲームオブジェクトのジオメトリでの LOD が下がるメッシュがいくつも必要になります。これらのメッシュは LOD レベルと呼ばれます。ゲームオブジェクトがカメラから遠いほど、レンダリングされる LOD レベルの詳細度は低くなります。この技術は、遠くのゲームオブジェクトによるハードウェアへの負荷を軽減しますので、レンダリングパフォーマンスを向上させることができます。
Unity で LOD を利用する方法を理解するには、まず LOD レベルとは何か、どのように機能するかを理解する必要があります。
LOD レベルは、ゲームオブジェクトのジオメトリに Unity がレンダリングする LOD を定義するメッシュです。ゲームオブジェクトが LOD を使用する場合、Unity はカメラからゲームオブジェクトまでの距離に基づいて、そのゲームオブジェクトに適切な LOD レベルを表示します。
各 LOD レベルは、個別のゲームオブジェクトに存在し、LOD レベルを表示する Mesh Renderer コンポーネントを持ちます。最も低い LOD にはビルボードアセットを使用できます。これは 3D メッシュの代わりに表示されます。Unity はこれらのゲームオブジェクトの表示と非表示を必要に応じて切り替えます。LOD レベルは、関連するゲームオブジェクトの子ゲームオブジェクトである必要があります。
以下の画像は、LOD レベルがカメラからの距離に応じてどのように変化するかを示しています。