URPの薄い壁をすり抜ける光漏れ(ライトリーク)の原因と解決方法は、実機テストやレンダリングパイプライン拡張において頻発する重度なテクニカルバグです。薄い壁や床の裏側にライトの光が突き抜けて漏れ出てしまうシャドウリークバグの解決策の解説。

不具合の具体的な症状

完全に密閉された暗い部屋や、薄い壁で仕切られた隣の部屋であるにもかかわらず、壁の継ぎ目や床の裏側から、外にある太陽光(ディレクショナルライト)の光が不自然に漏れ出して部屋を照らしてしまう。

現実世界での例え:劇場の薄いパーテーションの隙間から漏れる光と、影絵シートの厚みの誤差

影のシマシマノイズを消すために、影の発生位置(シャドウバイアス)を壁の厚みより大きく「後ろにずらした」結果、壁の内部に影ができなくなり、光が壁を素通りして隣の部屋に漏れ出ている状態です。影の開始点をミリ単位で壁の表面に戻してあげる(バイアスを小さくする)ことで、完全に光をシャットアウトします。

URPの薄い壁をすり抜ける光漏れ(ライトリーク)の原因と解決方法 troubleshooting diagram

図:URPの薄い壁をすり抜ける光漏れ(ライトリーク)の原因と解決方法の不具合発生メカニズムと解決アプローチの概要図

想定される原因と詳細な仕組み

シャドウマップの解像度不足、および影のチラつき(シャドウアクネ)を防ぐために設定した「Shadow Bias(深度オフセット値)」の数値が大きすぎるため、影の発生開始位置がオブジェクトの物理形状より数センチ奥にズレてしまい、薄い壁の厚みを超えて光が貫通しているためです。

解決アプローチと最適化手順

ライトの設定ウィンドウを開き、「Shadow Bias(深度バイアス)」および「Normal Bias(法線バイアス)」の数値を極限まで小さく(例:0.02以下)に調整します。また、必要に応じて壁の厚みを物理的に増やす、または裏面シャドウキャスター(Double Sided Shadows)を壁マテリアルに適用して遮蔽力を高めます。