はじめに
公式動画で解説されていたためパターンを試す
参照元
Light Probe とは
- バウンス証明、反射、屈折などの特定の照明効果を事前に計算するために使うオブジェクト
- SSR(Screen Space Reflection)に比べ幾つかの制限があるが、Eeveeでのリアルタイム反射を正確に計算してくれる
- 種類
- 反射キューブマップ
- 反射平面
- イラディアンスボリューム
- irradiance、放射照度、発光、射光
テストに使用するシーン
- 細分化したキューブとスザンヌ
- ワールド設定ではチェッカーを選択
- キューブには粗さ0のマテリアルを適用して反射しやすいツルツルなものにしている
- 黄緑のマテリアルを設定した平面を下に敷いている
反射キューブマップ
何も設定していない状態では、反射しやすい球体にワールド設定の市松模様(チェッカー)が反射されているが、隣のスザンヌを一切反射していない
反射キューブマップを配置
- 反射キューブマップを追加して球体を囲むように配置
- 内側の円がオブジェクトの外側に重ならないように配置
- クリッピングを表示させる
- 表示させると線が表示される
- Clipping Start を調整して球体に線がめり込まないように、かつ反射キューブマップの内側の円より外側にはみ出ないようにする
- 上記はイメージ。赤い線は反射キューブマップ。青い線はクリッピングの線
- 間接照明をベイクする
- 結果
- スザンヌと床が球体に写り込んでいる事が確認できる
- 結果
設定可能値
Diffuse Bounces
拡散照度をベーキングする際に計算するバウンス数。トータルのベーキング時間は、多かれ少なかれバウンス数を乗じて計算します。
変えてもシーンがシンプルすぎるのかあまり違いがなかったため、この項目は3で固定します
Cubemap Size
反射キューブマップのサイズ。
64, 128, 256, 512, 1024, 2048, 4096px で確認
- 球体が小さすぎたため128pxあたりから特に変化が感じられない
- 🤔ミラーボールなどより大きい反射物であれば多くを反射する必要があるためそういったときにサイズを上げるのだと理解
Diffuse Occlusion
各放射照度サンプルには、間接光の漏れを最小限に抑えるために使用されるシャドウマップも保存されます。このパラメータは、このシャドウマップのサイズを定義します。
この値も変化なし。反射のみの場合は関係ないと思われる
irradiance Smoothing
放射照度補間を滑らかにしますが、光のブリードが発生します。照射可視性の項は、一部のサーフェスで照明がスムーズに補間されないことがあります。この設定はその補間の重みを緩和します。
この値も変化なし。反射のみの場合は関係ないと思われる
反射キューブマップ メモ
- 反射キューブマップはリアルタイムではないためシーン上でオブジェクトを動かしても反射は適用されない
- クリッピング開始と終了はどこからどこまでの範囲を反射する範囲として見るかを設定する
反射平面
- 反射キューブマップとほぼ同じ様に動作する
- 平面のみで使用可能
- 🤔鏡やショーウィンドウとかに使うという事ですね
- リアルタイムでオブジェクトを反射する
イラディアンスボリューム
- バウンスライト(反射光)をシミュレートするもの
- 周囲の色と明るさをサンプリングしてバウンスライトを他のオブジェクトに反射させる
一気にテスト
ここだとあまり良くわからなかったので、反射平面、反射スフィア、イラディアンスボリュームすべてを追加しました。
シーンに球体を追加
- 赤く光る
- 赤く光る
シーンに反射板を追加
- マテリアルはもともと球体に使っていたものと同じものを適用
- Reflection Planeを重ねて配置している
- 撮影するシーンを全体を囲むようにイラディアンスボリュームを配置
- スザンヌの顔が床の緑を受けて少し緑になっている
- 球体は床や球体を反射している
Diffuse Bounces 全部バージョン
拡散照度をベーキングする際に計算するバウンス数。トータルのベーキング時間は、多かれ少なかれバウンス数を乗じて計算します。
- 0 ~ 8 までテスト
Cubemap Size 全部バージョン
反射キューブマップのサイズ。
64, 128, 256, 512, 1024, 2048, 4096px までテスト
- やはりシーンが小さすぎるため違いがない
- しかし4096pxともなるとファイルサイズが2GBにもなる。
Diffuse Occlusion 全部バージョン
各放射照度サンプルには、間接光の漏れを最小限に抑えるために使用されるシャドウマップも保存されます。このパラメータは、このシャドウマップのサイズを定義します。
8, 16, 32, 64pxでテスト
スザンヌの影が減っていっている事がわかる
irradiance Smoothing 全部バージョン
放射照度補間を滑らかにしますが、光のブリードが発生します。照射可視性の項は、一部のサーフェスで照明がスムーズに補間されないことがあります。この設定はその補間の重みを緩和します。
0 ~ 1でテスト
スザンヌの顔を照らす赤い光がなだらかに鳴っている事がわかる
Clamp Glossy
ピクセル強度をクランプして、反射キューブマップから光沢のある反射の内部のノイズを低減します(0は無効)。
こちらは値を制限する設定の為、無効のままにしておきます
Filter Quality
アーティファクトを除去するために、キューブマップ・フィルタリング中により多くのサンプルを取得します。今のところ、これはキューブマップにのみ効果があります。
- 😅恐らくシーンが小さすぎるのと物が少なすぎるため全く影響なし
- 😅物が多いとその細部に映り込む物が細かくなりそうですね。
メモ
- ライトプローブは Eevee 固有機能