takumi3d
BACK TO NOTES
Unknown |
#UE#ProjectSettings#Rendering#Tips

ライトリークを回避する方法

概要

ライトリーク(光漏れ)は、Unreal Engine のライティング計算において、意図しない面へ光が侵入する現象。 特に建築可視化・室内シーンで顕著に現れる。以下では技術的観点から体系的に原因と対処法を整理する。


ライトリークの主な原因と対処法

1. ライトマップ解像度の不足

原因
ライトマップが粗いと、光と影の境界が曖昧になり、面間で光が混ざる。

対策

  • オブジェクトごとにライトマップ解像度を高める
    推奨:64 → 128〜512
  • 特に壁際・柱・天井・開口部など影の境界が明確な部分を重点的に高解像度化する。

2. モデル厚みの不足

原因
壁や天井が薄いと Lightmass の遮光計算が不安定になり、光が裏面へ漏れやすくなる。

対策

  • 壁・床・天井など遮光が必要な面は最低 20cm 以上の厚みを確保する。

3. 不適切なライトマップ UV 展開

原因

  • UV アイランドの隙間が狭い
  • UV の重複
  • ライトマップ専用 UV が無い

これらはベイク時に光情報が混ざる原因となる。

対策

  • UV チャンネル 1(第2 UV)にライトマップ専用 UV を作る
  • アイランド間に 2〜4px のパディングを確保
  • 必要に応じて「Generate Lightmap UV」を使用

4. シャドウバイアスの設定不備

原因
Bias が高いほど影が浮き、隙間に光が入り込む。

対策

  • Directional / Spot / Point の Shadow Bias を低めにする
    推奨:0.1〜0.3

5. コンタクトシャドウ未使用

原因
微細な接触面の影が不足すると、光漏れが強調される。

対策

  • 各ライトで Contact Shadows を有効化
  • 小さな隙間や接地部の影精度を補強

6. Distance Field Shadows を使用していない

原因
通常のシャドウマップでは細かな隙間を精確に表現できない場合がある。

対策

  • Project Settings → Rendering → Generate Mesh Distance Fields をオン
  • ライト設定で Distance Field Shadows を有効化

7. Lightmass Importance Volume の未設定

原因
重要領域が指定されていないと、Lightmass が最適化されず光計算の精度が低下。

対策

  • 室内空間・建築物を覆うように Lightmass Importance Volume を配置する。

8. Skylight 下半球からの光の侵入

原因
Skylight の下半球が開いていると不要な間接光が室内へ入る。

対策

  • Lower Hemisphere is Solid Color を有効化して下半球の光を遮断。

9. 静的/動的ライティングの不適切な組み合わせ

原因
Static・Stationary・Movable の混在設定によって影の計算が一貫しない場合がある。

対策

  • 静的環境 → Static / Stationary で統一してベイク
  • 動的オブジェクト → Movable + Dynamic Shadows

対策の体系的ワークフロー

  1. モデリング段階
    • 厚みを確保(20cm 以上)
    • ライトマップ用 UV の作成(第2 UV)
  2. インポート後
    • ライトマップ解像度の適正化
  3. ライティング調整
    • Shadow Bias を低めに調整
    • Contact Shadows・Distance Field Shadows の活用
  4. エンジン設定
    • Lightmass Importance Volume の設置
    • Skylight 下半球の遮断
  5. ライト方式の選択
    • Static / Stationary / Movable の役割を整理

対策の重要度一覧

対策内容 重要度 手間
ライトマップ解像度の調整 非常に高い
モデル厚みの確保 非常に高い 低〜中
ライトマップ UV の作成 非常に高い 中〜高
Shadow Bias の調整 高い
Distance Field Shadows 高い
Contact Shadows 中〜高
Lightmass Importance Volume 高い
Skylight 下半球の遮断
ライト方式の整理 高い

まとめ

ライトリークは、モデル構造・UV・ライトマップ設定・シャドウ設定・環境設定など多層的な要因によって発生する。 上記の要素を体系的に見直すことで、光漏れは大幅に低減でき、高品質なライティングを実現できる。