BLOGブログ

2021.05.28UE5

[UE5] ライティングの幅が広がる!”Lumen”で可能になった表現を比較画像付きで紹介

執筆バージョン: Unreal Engine 5.0 EarlyAccess

 

今回はUE5での目玉機能の一つであるLumenを触ってみました。
Lumenを使用することによってできるようになった事を比較画像を交えて分かりやすくご紹介します。

 

Lumenとは?

Lumen は、次世代コンソール向けに設計された Unreal Engine 5 の新しい完全に動的なグローバル イルミネーションおよび反射のシステムです。
――公式ドキュメントより。

 

グローバルイルミネーション、つまり直接光だけでなく間接光を考慮したライティングの計算をリアルタイムで行えるのがLumenです。

 

UE4世代のグローバルイルミネーションの制限

UE4でのグローバルイルミネーションは、

  1. Lightmassによる事前計算を行うことでグローバルイルミネーションをライトマップというテクスチャにベイクして表現する。グローバルイルミネーションの計算に寄与するにはライトもメッシュも基本的には動かすことができない。
  2. レイトレーシングを使って動的グローバルイルミネーションの計算を行える。ただし、描画負荷がとても高く制限も多いので実用には難しい。

といった手法がありますが、どちらもリアルタイムレンダリングならではの制限が多くあります。

 

UE5のLumenでなにができるようになったのか?

おなじみThirdfPersonのテンプレートをベースにしてLumenを試してみました。

 

 

 

Lumenのオンオフを比較してみる

アーリーアクセスのUE5ではLumenがデフォルトでオンになっています。

Lumenがなければどのような絵になるのでしょうか?

ポストプロセスボリュームからLumenのグローバルイルミネーションをオフにして

LumenのないUE4と同じような状態で比較してみようと思います。

 

直感的にライティングできる

太陽の動きに合わせてグローバルイルミネーションが計算されるが表現されています。スカイライトの遮蔽もとれているので奥の光が届かない所はしっかり暗くなっています。

ライトに行った変更がリアルタイムに最終的な絵として反映されるので直感的にライティングできます。

 

マテリアルのエミッシブをライトのように使える

発光する円柱はマテリアルのエミッシブのみで光らせています。ライトは置いていません。

UE4でライトを置いてレイトレーシンググローバルイルミネーションを使って同じような表現をすると大変な描画負荷になりそうです。

Lumenではマテリアルで光源を大量に追加することによる追加の描画コストは無いのがありがたいです。

 

照り返しの表現。壁に当てたライトは白

上下に動く壁に向かって白いライトを当てています。

白いライトですが当たっている壁の色によって照り返しの色は変わっています。

また、間接光で明るくなるだけでなく、両袖の壁はスカイライトの遮蔽がとれていることで

しっかりコントラストが出ているのも注目です。

 

エミッシブのみでライティング

この順番に光る箱もライトは使わずマテリアルのエミッシブのみで表現しています。

よく見るとグレーマンの反射にもグローバルイルミネーションの効果が反映されています。

ノイズも少なくUE4のレイトレーシンググローバルイルミネーションでは難しかった表現です。

追加の描画コストが発生しないとなると、ついつい大量のライトで光らせたくなりますね。

大きくライティングを変えてもスムーズ

 

最後に天井を開けて、もう一度明るくしてみました。

破綻もなくスムーズにライティングが変化しています。

 

Lumenをオンオフして比べると違いは一目瞭然でしたね!

ぜひ、お試しください

 

また、Lumenを使って光る玉を作るハンズオン記事も公開しているので、ぜひ真似して遊んでみてください。

[UE5] ハンズオン!新機能”Lumen”を使って光る玉で遊んでみよう!