ライトマップには 2 種類の Directional Modes (指向性モード) が可能です。 Directional (指向性)と Non-Directional (非指向性) です。ライトマップの 指向性モード を設定するには、Lighting ウィンドウを開いて (Window > Lighting > Settings) Scene をクリックし、 Lightmapping Settings のセクションで Lightmapper が Enlighten になっているのを確認し、 Directional Mode ドロップダウンリストで選択します。どちらのモードもリアルタイムやベイクしたライトマップとして使用できます。
指向性 ライトマップは、ライティング環境に関して、非指向性 のライトマップよりも詳細な情報を格納します。シェーダーでは、入射光にその追加データを使用し、画面に表示されるマテリアルの見え方を決定する出射光の計算結果を向上させます。これにより、テクスチャメモリの使用量とシェーディング時間の増加という負荷が発生します。
Non-directional (非指向性) このモードはただ 1 つのライトマップを使用しており、光が純粋に拡散性であると仮定してどれだけ多くの光を表面から放出するかという情報を保存します。オブジェクトはこの方法で照らされると、フラットに (法線マップは使用されません)、(マテリアルがスペキュラーであっても)拡散して見えます。そうでなければ、正しく照らされます。これらの樽は、ベイクされたライトマップを使用しています。詳細な定義は、リフレクションプローブとオクルージョンマップのみから来ています。
Directional (指向性) 法線マップされた拡散。このモードは、第2のライトマップを追加します。第2のライトマップは、入ってくる主な光の方向と、最初のライトマップのうちどれだけの光がその主要な方向に沿って入ってくるかの比例係数を格納します。ですから、残りの光は半球全体から均等に来ると想定します。その情報を基にマテリアルは法線マップにされますが、それでも純粋に拡散されたように表示されます。
Directional モードでは、Non-directional モードの 2 倍のテクスチャメモリを消費し、少しだけ高いシェーディング負荷がかかります。
Non-directional 1つのテクスチャ、1つのテクスチャサンプル、2–3 の付加的なシェーダー命令。
Directional 2つのテクスチャ、2つのテクスチャサンプル、さらにいくつかの付加的なシェーダー命令。
リアルタイムライトマップは同じアプローチをしています。そして、シェーディングの品質とコストのバランスに関しても同様です。
実際に間接光 (ベイクされたライトの間接的な部分) に使用される BRDF は、わずかにコストのかからないバージョンです。 UNITY_BRDF_PBS_LIGHTMAP_INDIRECT
は UnityPBSLighting.cginc で定義されています。
ライトマップの静的アセットにスペキュラーライトを適用するには、Baked light の Shadowmask か Distance Shadowmask のライトモードを使用してください。詳しくは、Light Modes を参照してください。
2017–06–08 Page published with limited editorial review - Leave page feedback
5.6 で Direct Specular を削除
Light Modes、 5.6に追加