パルテア

どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス ライティング 光プローブ〜

光プローブ

ライト プローブは、シーン内の空きスペースを通過する光に関する情報をキャプチャして使用する手段を提供します。

ライトマップと同様に、ライト プローブはシーン内の照明に関する「ベイクされた」情報を保存します。違いは、ライトマップはシーン内の表面に当たる光に関する照明情報を保存するのに対し、ライト プローブはシーン内の空きスペースを通過する光に関する情報を保存することです。

ライト プローブは、ベイク中に光が測定 (プローブ) されるシーン内の位置です。実行時に、動的なゲーム オブジェクトに当たる間接光は、そのオブジェクトに最も近いライト プローブの値を使用して近似されます。

2つの立方体の周囲に光プローブを配置した非常にシンプルなシーン

ライト プローブには、主に 2 つの用途があります。

ライト プローブの主な用途は、シーン内の移動オブジェクトに高品質の照明 (間接反射光を含む) を提供することです。

ライト プローブの 2 番目の用途は、風景が Unity の LOD システムを使用しているときに、静的な風景の照明情報を提供することです。

ライト プローブをこれら 2 つの異なる目的のいずれかに使用する場合、使用する必要があるテクニックの多くは同じです。シーン内でプローブを配置する場所を選択できるように、ライト プローブの仕組みを理解することが重要です。

ライト プローブ: 技術情報
ライト プローブの照明情報は、球面調和関数基底関数としてエンコードされます。L2 球面調和関数とも呼ばれる 3 次多項式を使用します。これらは、各カラー チャネルに 9 つずつ、合計 27 個の浮動小数点値を使用して保存されます。

Unity の Enlighten グローバル イルミネーション実装では、この機能の元の開発者である Geomerics とは異なる球面調和関数アプローチ、つまり Peter-Pike Sloan の論文「Stupid Spherical Harmonics (SH) Tricks」の表記法と再構築法が使用されています。Geomerics の元のアプローチは、Ramamoorthi/Hanrahan の論文「An Efficient Representation for Irradiance Environment Maps」の表記法と再構築法に基づいています。

再構築用のシェーダー コードは UnityCG.cginc にあり、Peter-Pikes の論文の付録 A10 Shader/CPU code for Irradiance Environment Maps のメソッドを使用しています。

データは内部的に次のように順序付けられています。

R、G、B の 9 つの係数は次のように順序付けられます。

Unity のライト プローブ システムに関するより詳しい情報については、GDC 2012 での Robert Cupisz の講演「四面体テッセレーションを使用したライト プローブ補間」、GDC 2012 をご覧ください。


    Course

  • 日時:2024/04/01 ~ 2025/03/31
  • 名称:どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス ライティング 光プローブ〜
  • 場所:オンラインスクール
  • 料金:¥0 (消費税込)