ライトプローブ
ベイク済み GI を使用する際に動的なオブジェクトが GI の影響を受けるために必要となる。プローブ位置において GI の影響を事前計算しておき、実行時に補間することで動的なオブジェクトに対する GI の影響を計算する。また、LOD を使用するオブジェクトに GI を適切に反映するためにも用いられる。
公式サイト:
移動するオブジェクトのためのライトプローブ | Unity マニュアル [公式]
使い方
手順
- シーンに「Light Probe Group」を追加し、ライトプローブを配置する。
- シーン内の動かないオブジェクトを「Contribute GI」としてマークする。
- ライティングウィンドウで「Generate Lighting」ボタンを押して、事前計算を実行する。
- メッシュレンダラーで「Light Probes」を
Blend Probes
に設定する。
参考:
Light Probe で Dynamic なオブジェクトにも間接光を影響させる | LIGHT11
導入
参考:
Light Probes を手軽にセッティングする | テラシュールブログ
Light Probe は我らに光を与える | evil fridge
The Power of Light Probes | Janika Suhonen
設定
ドキュメント:
ライトプローブとメッシュレンダラー | Unity マニュアル [公式]
参考:
LOD
ドキュメント:
ベイクしたライトマップの LOD | Unity 2020.3 マニュアル [公式]
LOD とリアルタイム GI | Unity 2020.3 マニュアル [公式]
動的オブジェクト
ドキュメント:
移動するオブジェクトのためのライトプローブ | Unity マニュアル [公式]
Light Probe Proxy Volumes (LPPV)
設定
- Refresh Mode:リフレッシュモード
- Automatic:自動 (デフォルト)
- Every Frame:毎フレーム
- Via Scripting:スクリプトで操作する
- Quality:品質
- Low:低
- Normal:普通 (デフォルト)
- Data Format:データフォーマット
- Half Float:半精度浮動小数点
- Float:単精度浮動小数点
- Bounding Box Mode:バウンディングボックスモード
- Automatic Local:自動ローカル (デフォルト)
- Automatic World:自動ワールド
- Custom:カスタム
- Proxy Volume Resolution:解像度
- Resolution Mode:解像度モード
- Density:密度 (単位:1m当たりの個数/デフォルト:
0.25
) - Custom:カスタム
- X / Y / Z:X軸、Y軸、Z軸、各方向のグリッド数 (範囲:
1
~32
/2のべき乗)
- X / Y / Z:X軸、Y軸、Z軸、各方向のグリッド数 (範囲:
- Density:密度 (単位:1m当たりの個数/デフォルト:
- Resolution Mode:解像度モード
- Probe Position Mode:位置モード
- Cell Corner:セルの角 (デフォルト)
- Cell Center:セルの中心
ドキュメント:
Light Probe Proxy Volumes (LPPV) コンポーネント | Unity マニュアル [公式]
参考:
Light Probe の影響をモデルやパーティクルの一部に限定する、Light Probe Proxy Volume を使ってみる | テラシュールブログ
シーンをロードする
ドキュメント:
ライトプローブとシーンのロード | Unity 2020.3 マニュアル [公式]
LightProbes.Tetrahedralize | Unity スクリプトリファレンス [公式]
LightProbes.TetrahedralizeAsync | Unity スクリプトリファレンス [公式]
Static Lighting
動画:
An Introduction to Lightmapping
リンク:
ライトプローブを使用した静的ライティング | Unity Blog [公式]
Progressive Lightmapper: An Introduction to Lightmapping in Unity – SlideShare
デバッグ
参考:
Show baked probes in the Editor – Unity Forum
仕組み
ライトプローブにおけるライティング情報は、ベイク時に球面調和関数を基底として符号化される。ライトプローブ間のライティング強度は「L2 球面調和関数」 (3次多項式) により補間される。
ドキュメント:
技術的な情報 – ライトプローブ | Unity マニュアル [公式]
編集できない
参考:
Light Probe の編集が出来ない時の対処方法 | 強火で進め
Can’t select Light Probes – Unity Forum
Adaptive Probe Volumes
動画:
Adaptive Probe Volumes – 新しいライティング機能 (Unity Japan)
ドキュメント
ライトプローブグループ | Unity マニュアル [公式]
チュートリアル
High Quality Lighting using Light Probes (Brackeys)
Light Probe Group (about game making)
Light Probes – VR Optimization (Fist Full of Shrimp)
Light Probes and Spherical Harmonics (Aaron Lanterman)
Light Probes Placement
**UNMAINTAINED**
リポジトリ:
Simple Light Probe Placer
**OBSOLETE**
リポジトリ:
AlexanderVorobyov/simple-light-probe-placer: Simple Light Probe Placer – GitHub