Best practice for Lumen and Non-Lumen lighting setups in the same scene

Hi,

Is there any good documentation available please for best practice when lighting scenes (think town/city with building interiors) that need to work with both Lumen and Non-Lumen setups.

Looking at Fortnite its seems to be pretty balanced when switching between Lumen and non Lumen graphical options and wondered what their approach for lighting setups is. Does one setup feed both graphical setups or is there a setup for Lumen and one for Non Lumen.

In Fortnite you can see interiors are brighter which i understand the skylight effectively doesnt shadow/occlude and behaves like it leaks 100% when Lumen is off. It looks like it uses DFAO to help here especially for interiors.

In my scene I have looked at using both a basic lighting setup and also a ‘SunMoonDaySequence’ actor (set to about 7:30am). Trying to use a single lighting setup for both Lumen and Non-Lumen the results are quite different (not even close to being as balanced as Fortnite), getting warm tones when using Lumen to quite cold flat tones when Lumen is off (im assuming as the skylight will be throwing its blue ambient light around more?).

Also Im finding the DFAO is really blocky and jittery in my scene and no amount of DF resolution seem to help, where it looks pretty stable in Fortnite - it’s possibly just down to just poor DF setups my side which i need to investigate. Im contemplating just using SSAO as its too noisy to use DFAO as it is currently but i have next to no control of SSAO in UE5 (but thats been asked in another UDN ticket!)

Ultimately my question is should the results be more comparable when simply toggling GI on and off with a single setup, or does it often need two separate lighting setups to get them batter balanced. I’m just trying to establish if I’m doing something wrong with my setups.

Thanks,

Leon.

Hey there! Right now my recommendation would be to have a couple of different lighting and postprocess volume setups that you toggle between based on whether or not Lumen is enabled. I don’t really expect that Screenspace GI/Reflections to look comparable to Lumen with the same settings all across the board. I’d probably expect a PostProcessVolume, SkyLight, and maybe Directional. If you’re going with DaySequencer you could potentially leverage different day sequences and swap between them as part of a Day Sequence Collection instead.

Thoughts?

I think two data layers for this is pretty reasonable. The actors aren’t spatially loaded.

As to Lumen disabling when you add a third local player, the good news and/or bad news is that this hard coded! #define LUMEN_MAX_VIEWS 2, and this is checked in a few different places. The bad news is that it’s hard coded and that means you probably don’t want to modify it. The good news is that it’s hard coded, so you can be pretty confident that as soon as that third player is added then Lumen will disable.

The caution I usually give about checking Cvars to determine feature state is that the cvars are inputs into the things that determine what actually happens in a frame. The best example I can point you toward is to see how cvars are combined with postprocess volume settings to get the final postprocess settings for a given view. It’s one of the many reasons I don’t recommend that users set render feature settings (Dynamic Global Illumination Method, Reflection Method, etc.) on a postprocess volume and instead using cvars and scalability groups. It at least makes the changes more visible to more systems.

Thoughts?

Thanks for all the help Matt, it gives us something to work with. Cheers

Hey Matt!

Thank you so much for the quick response, it makes sense and its actually how i expected it to be based on how I understand lumen works.

It was suggested that I check in with you as I may be missing something by having two lighting setups as Fortnite seems quite seemless as you switch between graphic quality modes, so its reassuring to know I was on the right track.

Just to confirm though, this is how they author for Fortnite too? Theres not other cool tech that may be passed down in future versions? :slight_smile:

Thanks again, have a good weekend

Leon.

Hi Matt,

Thank you for your answer, we can probably implement something to support multiple lighting scenarios, since we’re using WP would it be reasonable to use 2 data layers and switch between them?

Also is there a specific way to determine if lumen is enabled, I’m thinking a CVar sink on the Lumen.GlobalIllumination but not sure if that gets updated when going from 2 to 3 local players in a split screen scenario (since Lumen turns itself off in that case) or is there a better way to check?

Thank you for your help,

Gualtiero