Nanite が「形」を担うなら、Lumen が担うのは「光」です。絵のリアルさの大半は光で決まります。光には2種類 ── 光源から直接あたる光と、壁や床で跳ね返ってくる間接光(GI)。そして光をさえぎると影ができます。この章では、影を作る仕組み(シャドウマップ)と、間接光を動的に計算する仕組み(Lumen)を、実際に描いて確かめます。
部屋に窓から日が差すと、日なたはもちろん明るい ── これが直接光。でも日陰も真っ暗にはならず、うっすら見えます。これは光が壁や床で跳ね返って回り込んでいるから ── 間接光(GI)です。昔のゲームは直接光しか計算せず、影は不自然に真っ黒でした。間接光を足すと一気に「そこに空間がある」感じが出ます。
影は「その点に光源から光が届くか?」で決まります。判定に使うのがシャドウマップ。まず光源の視点で一番近い面までの距離を記録します(下の帯)。次に各点について「自分の距離 > 記録された距離」なら、手前に何か遮る物がある=影と判定。下で解像度を落とすと影の縁がギザギザに、バイアスを弄ると独特の破綻が出ます ── 実際に触ってみてください。
画面右上の帯がシャドウマップ本体(光から見た深度)。解像度が低いと帯のマスが粗くなり、地面の影の縁が階段状に。バイアスを 0 近くにすると照らされている面に縞(シャドウアクネ)が出て、大きすぎると影が物から浮きます(ピーターパン現象)。PCF は縁をぼかしてギザギザを目立たなくします。
天井のライトだけがある部屋(コーネルボックス)です。直接光のみだと、光が直接あたる床の中央だけ明るく、隅や箱の影は真っ黒、赤い壁・青い壁の色はほとんど効いていません。Lumen(GI)を入れると跳ね返りが加わり ──(1)影の中まで柔らかく明るく、(2)赤い壁の色が床ににじみ出す(カラーブリーディング)。ボタンで切り替えて、同じ部屋がどう変わるか見てください。
Lumen が偉いのは、この間接光を事前計算(ライトベイク)なしで動的に出せる点です。太陽を動かしても、壁の色を変えても、その場で間接光が追従する。昔はこれを何時間もかけて焼き込んでいました。
Lumen は光線を追って跳ね返りを集めます。追い方に2種類あり、性能と品質のトレードオフです。あわせて、昔ながらの「焼き込み」も選択肢として残っています。
影のほうにも同じ構図があります ── 従来のシャドウマップ(§2)は軽いが縁の破綻がつきもの、レイトレース影は正確だが重い。Lumen と Nanite は「動的でも重すぎない」を狙った、UE5 の絵づくりの両輪です。
Lumen はプロジェクト設定の Dynamic Global Illumination と Reflections を Lumen にすれば有効。効き具合はビューポートの可視化モードや Post Process Volume で調整・確認します。
これで Primer 01〜07:スレッド → テクスチャ → マテリアル → 描画パス → ポスト → Nanite → ライティング。1フレームが画面に出るまでの絵づくりが、形(Nanite)と光(Lumen)まで一通りつながりました。次は最適化・プロファイリング実践(stat unit を実際に読む)へ進むと、これまでの知識が「どこが重いか」の判断に効いてきます。