teisama
(teisama)
1
タイトルの通りです。以下に記載の条件で試してみました。
・新規レベルでキャラクターを100体配置
・ライトはポイントライトを1つのみを使用。そのほかのライトは全て削除
・キャラクターは待機アニメーションを再生
・ポイントライトの可動性をステーショナリー、ムーバブルの2つで検証
上記で試すと、ムーバブルの方がFPSが良く出ていました。
ステーショナリーライトの方はPerObjectShadowProjectionsのCallCountがキャラクター数に比例して高くなっており、処理時間も伸びていることまで確認できました。
ムーバブルライトは基本的には重いから利用しない方が良いと思っていましたが、
多数の動的キャラクターが存在する場合は有効と考えて良いのでしょうか。
観測したものは事実かと思います
が、まず前提を整理すべきかと
StationaryLightが必要とされるパターンは、 背景が存在 し、 LightmassでGIを事前計算する必要があり 、かつ キャラクターに対する動的な影 が必要な場合です
StationaryLightが推奨されていた主な理由は、Lightmassの存在があったからです
Lumenがなく、GIはLightmassによる事前計算が主だった自体は、品質面でStationaryLightが推奨されていました
StationaryLightは間接光成分をLightmass、直接光成分をランタイムで処理できます
一方、Lightmass時代のMovableLightは、間接光成分を事前計算する機能はありません
なので、GIを諦めるか、間接光成分をランタイムで計算するかのどちらかになります
GIを諦めるとリッチな画面からは遠のきますし、ランタイムで計算すると負荷が増えます
このあたりが、重いと言われていた所以かと
現在のUE5はLumenの存在があるため、LightはMovableLightを使用する事になっています
今のところ、LumenとLightmassは併用できるような形になっていません
ですので、Lumenを使用するのであれば、LightmassのためのStaticLightやStationaryLightは使用する必要がないように思われます
Lumenに合わせて、MovableLightにもLumen利用前提の最適化が入っている、という可能性もあるのではないでしょうか?
VirtualShadowMapなども色々と負荷軽減に寄与しているように思います
teisama
(teisama)
3
リプライありがとうございます。
すいません、重要な情報としてUE4.27を利用していることが抜けていました。
UE5のLumenについてはまだ実際に触ったことがないのですが、
コメント頂いた内容については、改めてドキュメントを読み、理解いたしました。
投稿した内容についてですが、更に検証してみたところ、
MovableLightの時はShadow Map Caching働いているようでして、
どうやらそれが作用しているように見えました。