How to carry exposure adjustment from one scene to the next?

I’m using Automatic Histogram Exposure in my game, along with somewhat seamless transitioning between levels. One thing that looks very jarring is having the Exposure adjustment reset upon loading a new level.

For example, if one level ends in a dark hallway (and the next level begins in the same dark hallway), then the exposure will be boosted a bit as the player is about to leave the level, allowing them to see in the dark hallway. But as soon as the next level is loaded, the calculations get reset, and the scene is momentarily dark again until Automatic exposure kicks in and readjusts. The same goes for transitioning in a very bright area: The first couple of seconds in the new level are blown out and overly bright, until the calculation catches up.

Ideally I could ask the Exposure component, or the Camera, what it’s current amount of adjustment was, and restore that exact value when loading the next scene. But I can’t find that value anywhere. Does it exist? Or is there some way to keep the current exposure adjustment when going from one scene to another? (I’m not talking about keeping the same settings. I mean keeping the current, dynamic amount of exposure adjustment that the Exposure component is currently applying to the scene.)

Interesting that this is happening to you, in most situations the lighting shouldn’t pop in like that, however.

There’s the there are a few possibilities I can think of.
A few different ways you could approach it depending on your project needs, set up and resources.

If by level streaming you’re using Additive Scene loading, then any baked data should be baked with all scenes loaded first, it’ll take all that data under one primary data set which is used with whatever additive scenes are loaded, you shouldn’t have any disconnect then.

for real-time situations, if there’s no break in the load ( like a load screen) you could use a small volume with a fixed Exposure of the previous average scene exposure, effectively the exposure would then be that same from level to level if everything is being unloaded loaded at once.

There are situations where lighting can change, like reflection probes changing or being disabled/enabled suddenly, I would investigate that, too, just in case that is also happening.

Also if it’s viable, profile it, as it’s unlikely you’ll want hundreds of volumes doing this kind of thing

8254938--1080420--Direction - Levels.jpg

That sounds like a pretty good idea, if I can’t find a way to carry over the exposure between scenes. Most of my transitions are performed within a prefab, so it would be easy to toss a small volume on my “'hallway” prefab.

1 Like