ライトプローブ
ベイク済み GI を使用する際に動的なオブジェクトが GI の影響を受けるために必要となる。プローブ位置において GI の影響を事前計算しておき、実行時に補間することで動的なオブジェクトに対する GI の影響を計算する。また、LOD を使用するオブジェクトに GI を適切に反映するためにも用いられる。
公式サイト:
移動するオブジェクトのためのライトプローブ | Unity マニュアル [公式]
目次
使い方
参考:
Light Probe で Dynamic なオブジェクトにも間接光を影響させる | LIGHT11
導入
参考:
Unity の Light Probes を手軽にセッティングする | テラシュールブログ
Light Probe は我らに光を与える | evil fridge
設定
参考:
ライトプローブとメッシュレンダラー | Unity マニュアル [公式]
LOD
参考:
ベイクしたライトマップの LOD | Unity 2018.4 マニュアル [公式]
LOD とリアルタイム GI | Unity 2018.4 マニュアル [公式]
動的オブジェクト
参考:
移動するオブジェクトのためのライトプローブ | 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 の影響をモデルやパーティクルの一部に限定する、Light Probe Proxy Volume を使ってみる | テラシュールブログ
Light Probe Proxy Volumes (LPPV) コンポーネント | Unity マニュアル [公式]
シーンをロードする
参考:
ライトプローブとシーンのロード | Unity 2020.3 マニュアル [公式]
LightProbes.Tetrahedralize | Unity スクリプトリファレンス [公式]
LightProbes.TetrahedralizeAsync | Unity スクリプトリファレンス [公式]
Static Lighting
動画:
An Introduction to Lightmapping in Unity
参考:
ライトプローブを使用した静的ライティング | Unity Blog [公式]
Progressive Lightmapper: An Introduction to Lightmapping in Unity – SlideShare
仕組み
ライトプローブにおけるライティング情報は、ベイク時に球面調和関数を基底として符号化される。ライトプローブ間のライティング強度は「L2 球面調和関数」 (3次多項式) により補間される。
参考:
ドキュメント
ライトプローブ | Unity 2018.4 マニュアル [公式]
ライトプローブグループ | Unity 2018.4 マニュアル [公式]
Light Probes Placement
**UNMAINTAINED**
リポジトリ:
Simple Light Probe Placer
**OBSOLETE**
リポジトリ:
AlexanderVorobyov/simple-light-probe-placer: Simple Light Probe Placer – GitHub