Primer 07 では Lumen を「動的な間接光」として使いました。ここではその内側 ── Lumen が現実的な速度を出すために、何を捨てているかを見ます。設定項目の意味が「どの近似をどれだけ許すか」として読めるようになると、品質を落とす場所を自分で選べるようになります。
間接光を正直に計算するとはどういうことか、数を見てみます。1080p は約200万ピクセル。各ピクセルから半球方向にレイを飛ばして光を集めるとして、ノイズが目立たない品質には数百本が要ります。仮に256本なら毎フレーム5億本。しかも1本ごとにシーンとの交差判定と、当たった先の明るさの評価が必要です。60fps なら 16.6ms のうち数ミリ秒でこれを終える必要がある ── どう考えても無理です。
Lumen がやったのは高速化ではなく、問題そのものを小さく作り替えることでした。使う近似は大きく4つ。それぞれが「どの正確さを、どれだけ捨てるか」の判断です。
Lumen のレイは、いきなりシーン全体に当てにいくわけではありません。安くて狭い手段から順に試し、答えが出たらそこで打ち切るという梯子構造になっています。設定を変えるというのは、この梯子のどの段を使うかを変えることです。
この構造から、Lumen の癖がそのまま導けます。画面に写っている物からの跳ね返りは正確で、画面外のものは急に雑になる ── カメラを振ると間接光が変わって見えるのは、レイが上の段から下の段へ落ちるからです。
下は 2D 断面の小さな Lumen です。天井の光源から出た光が壁で跳ね返り、赤い壁からは赤が、緑の壁からは緑が床に回り込みます(カラーブリーディング)。プローブを置き、レイを飛ばし、距離フィールドに当て、バウンスを重ねる ── 本物と同じ手順を実際に計算しています。品質を上げると数字がどう膨らむかを見てください。
つまみを一通り回すと、Lumen の設計思想が見えてきます。レイを増やして品質を買うのは高い。時間蓄積で買うのは安いが、遅れという別の代金がある。Lumen が既定で「レイは少なく、履歴は深く」に振っているのはこのためで、そして遅れこそが次の節のアーティファクトの正体です。
Lumen の変な絵は、ほぼすべて §1 の4つの近似のどれかが破綻した結果です。症状からどの近似を疑うかが分かれば、触るべき設定も一意に決まります。クリックで開きます。
Post Process Volume の Global Illumination / Reflections、または Project Settings で設定します。効き目の大きい順に並べました。それぞれが §1 のどの近似のつまみかを添えています。