Lighting - Where is the light coming from?

I am working on a project and have run into a lighting issue. So I made a simple structure to test things. This is an enclosed level consisting of a corridor and two rooms branching off left and right. The whole thing is made with the default engine cubes scaled appropriately.

The room lights are rect lights and Lumen is being used. Those lights are on their own level.

In the editor when without playing the level, if I hide the light level the scene is black.

However when I play the level and I use a switch to turn off all the lights, they go off but the scene does not go black, I get this: (There are no lights on in the right room where you see the lighter area in this image.) It is almost like these is a baked light in place but no baking is used.

However if I unload the level with the lights on it with the same switch then the scene goes black. All a bit weird.

Any input would be appreciated.

i cannot replicate that. how does this working exactly? i created a level for the lights and loaded them in as a level instance. i can hide them and it fades to black. are you using any emissives or anything that would stay resident and keep the light on? a lil bit weird. yes.

You really shouldn’t use colors with levels that are above 0.95 or lower than 0.05. For a pure white wall, you’d probably want to pull it down to around 0.9. But this sounds more like an autoexposure issue, if it’s persisting when the lights are turned off.

Yeah hiding the light level makes everything fade to black.

However using a switch, for me a key on the keyboard, to turn the lights off instead of hiding them leave the colours.

OK I will have a look at auto-exposure. This is my first crack at Lumen, so getting my head around it. I have always used baked lighting up until now.

Turning off auto exposure completely in the project settings does allow the scene to go darker but there is still visible artifacts:

It is interesting that the red takes of the scene.

Adjusting the colours so they were not pure red/white to this:

Gave this as a result when the lights were turned off:

This is with auto-exposure off. So the pure red/yellow is not an issue or auto-exposure.

This is all being done on a Mac and does seem to be a “bug” in that the fade to black does not complete but just stops part way. I was messing around with some settings in the editor while the level was still playing and the fade to black completed but I have no idea why. I could not replicate the fade again. So I am stuck with this.

hmm. it think that might be an autoexposure case aswell. it’s maybe re-adjusting.

i hammered the lumen history with cvars, on button pressed and release.

but it still takes a while to clear / fade to black.

i shot that with static exposure, but… with dynamic exposure the autoexposure histogram may pick that up and try to make it brighter.

Were you still left with the red in doorway? The video ended before that faded away.

Thanks for the advice so far.

The lag in lumen seems to be problematic - how do people deal with this? Or are extreme light changes avoided?

If I run around the level with the lights off, the whole scene slowly fades to near black I can still make out the lighter side:

So there does seem to be an issue of Lumen cleaning up after itself and it takes so long.

So a blackout jump scare seems to be impossible.

I guess I could fake it with a lights level, which includes the glowing panels for the roof lights and a level with the panels only and no glow. (The switch correctly turns off the glow, so that is not the issue in the current example.)

ohh. that doorway is open to the outside. it’s actually a straight down directional light entering the room from the outside just bouncing around. actually really good GI.

i took the shot from the player start position.

I added the 3 console commands that you used:

and it did trigger a complete fade. However it did take forever as your video shows.

I then ran the code again with the 1 changed to 0 and that also triggered a slow fade.

This would seem to suggest that it is Lumens cache/resampling that is not getting updated correctly or not being completed before the next frame is drawn.

This would also suggest that the problem will be worse on lower performing hardware and maybe OK on a decent machine.

i reckon this is a rare usecase scenario. too me it looks like it clears the lumen history frames one frame at a time, instead of wiping the whole memory instantly on keypress and it’d be rebuilding it on key release. makes sense from a compute load balance perspective, but for the jumpscare content it should be entirely wiped out, flash and be rebuild. game graphics mechanic.

if you got the source code i’m sure you could find a way to implement that. : )

or maybe you wanna try to disable lumen mid game play and render clean black, and re-enable it after your jumpscare. that’s a whole art/compute pipeline switch tho.

Thanks for all the effort you put into this.

I tested with a single point light at the intersection of the rooms and corridor and all the other lights gone.

Turning that on and off had the same result.

I even tried disabling lumen, turning light off and then reenabling lumen with no difference.

(Even r.Lumen.UpdateScene)

Destroying the actor light still left the same artifacts.

All very weird.

I am wondering this is similar to Light baking, if there is no light it just does not happen, does Lumen work with zero light.

Again, thanks for the input

well… i’ve gone thru the cvar list and flicked all the switches i deem necessary. it does a instant black out, now. and it rebuilds everything upon release. it’s up to you to save the states of the cvars for “safe coding” practice and your choice how you trigger it and keep it in this “disabled” state.

Just caught up with your post here. I implimented the 7 console commands as shown and got this:

I add a small glow around the edges to see the edges.

However it does all go black now.

It seems that logically Lumen should deal with this but currently needs a nudge in the right direction. :smile:

Many thanks for the effort you put into this. A solution has been found for anyone else with the same problem.

Again many thanks.