【UE5】LumenMeshCardってご存じ?

【UE5】LumenMeshCardってご存じ?

■LumenMeshCardとは?

Lumenという単語に覚えはないだろうか?
UnrealEngineを勉強している人なら、必ず知っている単語

Lumen(ルーメン)

ただしこのUnrealEngineで出てくるLumen(ルーメン)は明るさの単位ではなく、間接光や反射を考慮したライティングの計算をリアルタイムで行えるシステムの事になるので注意してほしい。私も最初のころは明るさの単位と認識しており、戸惑ったのを覚えています。(※以降はLumenシステム=UE5で使用するシステムのこととする)
では、Lumenシステムをどのように設定するのかというと、

「何もしなくてもよい!」UE5からは本当にDefultで使用できるようになっているのだ!

だがどうやってこのLumenシステムを使用しているということを確認するのだろうか?
「知らなくてもよいかもしれないが知っておきたい!」が、頭をよぎる。

なので、わたしは調べた…、そしてLumen世界というものを知り、Lumen世界に含まれているかどうかを確認できる方法を見つけた!

それは、コマンドで視認化させる方法だったのだ!!そのコマンドがこれだ↓

r.Lumen.Visualize.CardPlacement 1

これが表示されるアクタは、Lumen世界で計算されている証拠になるそうだ。
表示をOFFにしたい場合は

r.Lumen.Visualize.CardPlacement 0

と入力すると表示がOFFになる。
この無数のカラフルな板がLumenMeshCard(ルーメンメッシュカード)になります。

■LumenMeshCardの調整をしよう

このLumenMeshCardだが、実は数を調整することができます。それがここだ↓

メッシュエディターにある【ビルド設定】内の【Lumenメッシュカードの最大数】で数を調整でき、最大の数値が32となります。
Lumenメッシュカードの最大数=2
Lumenメッシュカードの最大数=8

アクタ一つ一つは、このカードの数でLumenシステムの計算時に詳細に計算されるかを設定することができる。ただし複雑なLumenCardが多いと不正確なGIとなってしまうため複雑なモジュラーアセット1を作らないようにしましょう。それとモジュラーアセット数が多いとLumenの計算が増大してしまう問題があるので注意しましょう。

■複数のLumenMeshCardを一つにする

アクタが複数あるとその分カードの量が増えてしまい、計算が遅くなる原因となります。
そのため一つにまとめれるアクタはまとめてしまいましょう。

下図の二つのアクタをまとめてみましょう!

1.まとめたいアクタを選択します。
2.選択した状態で【詳細】タブ→【Ray Tracing Group Id】を-1 → 1とか2とかにします。
おっ!まとまりました!

簡単ですが、これが複雑な形状同士の場合だと、こう簡単にまとめるときれいに計算してもらえないのがわかります。どうまとめるかセンスが必要になります。

次はまとめるアクタを増やしてみましょう。

IDを1にしてみました。これだといい感じに思えます。

が、

真ん中のCubeに回転を付与してみました。

あれ?カードが斜めに!?しかも無駄に大きい!?

そうなんです!どれか一つでも他の二つのアクタよりも領域がはみ出していて体積も多きい場合は、
そのアクタにカードの形状に依存してしまうのです!

サイズを小さくしたらサイズや角度がほかのCubeに依存しました。
サイズを小さいまま移動した場合はカードの形状は回転の影響を受けませんでした。

というように、癖が強い(案外単純計算なのでは)ため、使用の際は注意しましょう。

■まとめ

LumenMeshCardについて説明しましたが、これも使っていかないとわからないものですし今後のアップデートで変わってしまう仕様かもしれません。ですので、今後のアップデートではこのLumen世界を意識して検証を行い開発で使用するようにしていかなければならないということです。

現状の背景アーティストの作業は、ただ作ればいいわけではなく新しい技術の上に成り立っているということを忘れずに向き合っていきましょう!

今後とも、どうぞよろしくお願いします!

※詳細
  1. モジュラーアセットとは、一つの物を一つのデータで作りきらず、モジュールで分けて作成しているアセットのこと ↩︎
コメントは受け付けていません。