Lighting Data アセット
ライトマップ - 技術的な情報

ライトマップ - Directional Mode

ライトマップには 2 種類の Directional Modes (指向性モード) が可能です。 Directional (指向性)と Non-Directional (非指向性) があります。ライトマップの Directional Mode を設定するには、Lighting ウィンドウを開いて (Window > Lighting > Settings) Scene をクリックし、 Lightmapping Settings のセクションで LightmapperEnlighten になっているのを確認し、 Directional Mode ドロップダウンリストで選択します。どちらのモードもリアルタイムやベイクしたライトマップとして使用できます。

Directional ライトマップは、ライティング環境に関して、Non-Directional のライトマップよりも詳細な情報を格納します。シェーダーでは、入射光にその追加データを使用し、画面に表示されるマテリアルの見え方を決定する出射光の計算結果を向上させます。これにより、テクスチャメモリの使用量とシェーディング時間の増加という負荷が発生します。

Non-Directional ライトマップは平らな拡散を生成します。このモードはただ 1 つのライトマップを使用しており、光が純粋に拡散性であると仮定して、どれだけ多くの光を表面から放出するかという情報を保存します。オブジェクトはこの方法で照らされると、平らに見えます (法線マップは使用されません)。ただし、それ以外は(マテリアルがスペキュラーであっても)正しくライティングされます。これらの樽は、ベイクされたライトマップを使用しています。詳細な定義は、リフレクションプローブとオクルージョンマップのみから来ています。

Directional: 法線マップされた拡散。このモードは、第 2 のライトマップを追加します。第 2 のライトマップは、入ってくる主な光の方向と、最初のライトマップのうちどれだけの光がその主要な方向に沿って入ってくるかの比例係数を格納します。ですから、残りの光は半球全体から均等に来ると想定します。その情報を基にマテリアルは法線マップにされますが、それでも純粋に拡散されたように表示されます。

パフォーマンス

Directional モードでは、Non-directional モードの 2 倍のテクスチャメモリを消費し、少しだけ高いシェーディング負荷がかかります。

  • Non-directional 1 つのテクスチャ、1 つのテクスチャサンプル、2–3 の付加的なシェーダー命令。

  • Directional 2 つのテクスチャ、2 つのテクスチャサンプル、さらにいくつかの付加的なシェーダー命令。

リアルタイムライトマップは同じアプローチをしています。そして、シェーディングの品質とコストのバランスに関しても同様です。

実際に間接光 (ベイクされたライトの間接的な部分) に使用される BRDF は、わずかにコストのかからないバージョンです。 UNITY_BRDF_PBS_LIGHTMAP_INDIRECTUnityPBSLighting.cginc で定義されています。

ライトマップのスペキュラーライティング

ライトマップの静的アセットにスペキュラーライトを適用するには、Lighting Mode を Baked light の ShadowmaskDistance Shadowmask に設定してください。詳しくは、Light Modes を参照してください。


  • 2017–06–08 限られた 編集レビュー でパブリッシュされたページ

  • 5.6 で Direct Specular を削除

  • Light Modes、 5.6 に追加

Lighting Data アセット
ライトマップ - 技術的な情報