執筆バージョン: Unreal Engine 5.4
|
こんにちは。アーティストの天見です。
今回はLumenの登場後も使う機会が結構あるライトプローブについて解説したいと思います。

ライトプローブとは?
ライトプローブは、3D空間内の特定の位置における照明情報を記録する仕組みで、Movableオブジェクトに対して高品質な間接照明を適用することができます。
ライトプローブ自体の詳しい解説はこちらの記事をご覧ください。
[UE4]ライトプローブによる間接照明
Unreal Engine 5でのライトプローブの使い道
Unreal Engine 5で導入されたLumenにより、ダイナミックなグローバルイルミネーションが可能になりましたが、ライトプローブにも依然として重要な役割があります。
具体的には以下のような場面でライトプローブが有用です:
・パフォーマンスが重視される場面
・モバイルプラットフォームなどLumenが使用できない環境
・静的なシーンや変化の少ないシーンでシンプルな設定で高品質の結果を出したい場面
ライトプローブは、Lumenと比べて設定が簡単で、ライトベイクの手法を活用できるメリットもあります。
したがって、Unreal Engine 5においても、シーンの要件や対象プラットフォームに応じて、Lumenとライトプローブを適切に使い分けることが重要です。両者の長所を理解し、プロジェクトに最適な照明手法を選択することが求められます。
ライトプローブの動作の流れ
- ライトベイク時に、各プローブの位置での照明情報を計算し記録
- Movableオブジェクトが移動する際、近くのプローブ間で補間されて照明が適用
ライトプローブの設定手順
1. シーン内の特定の位置にライトプローブを配置
メッシュの設定
Movableでベイクから除外する設定にする
- Mobilityを「Movable」に設定
- Lightmap Typeを「ForceSurface」に設定



ライトの設定
- Mobilityを「Static」に設定
- 注意: マップにStaticメッシュが1つもないとプローブの位置での照明情報を記録できません


ポストプロセスの設定
- Lumenを無効にする(Global Illumination > Method を「None」に設定)

Lightmass Importance Volumeの配置

ライトのベイク
- Build > Build Lighting Onlyを実行

計算が完了するとライトプローブの照明が適応されます。

2.Probeの密度の調整
プローブの表示
- Show > Visualize > Volumetric Lightmapを選択

Volumetric Lightmap で表示された近くのプローブ同士で補間された照明が適用されます。

プローブの密度設定
- World Settings > Volumetric Lightmap Detail Cell Sizeを調整(小さいほど精度が高い)
- 設定後、再度Build Lighting Onlyを実行

Volumetric Lightmap Detail Cell Size 200から25にすることでプローブの球の間隔が短くなり照明の精度が上がりました。

ライトプローブでライトの印象が変わったとき
Reflection Captureで反射を追加していても、Probeのみだと直接光が完全になくなるので平板な印象になることがあります。
対処法としてベイクに使ったライトをコピーし直接光用のライトにします。
複製したライトに以下の設定を行います
- Mobilityを「Movable」に変更
- Cast Shadowを「Off」に設定(処理負荷軽減のため)

 |
 |
追加ライトなし |
追加ライトあり |
まとめ
ライトプローブを使うことでMovableオブジェクトが移動する際、近くのプローブ間で補間されて照明が適用されます。
状況によって異なりますが、Lumenよりも少ない負荷でMovableオブジェクトに効果的な照明を実現できることも多いので選択肢の1つとして覚えておいても良いかと思います。
