Is it possible to disable auto exposure from a specific material/object?

I am curious if there is a way to disable auto exposure calculations from a specific material/object on the screen. If I am standing in the middle of a room and a device starts to glow on a table in the center of the room, I would like that device/material to not cause the auto exposure to start going darker. I do still want it to calculate based on everything else in the room. Quick note that I am constrained to 4.13 at the moment for this issue.

I thought about possibly doing a post processing volume with constraints on it, but if the character spins around and now has the sun coming in through the window and the object visible, I want the auto exposure to work for the sun to make it darker. The only way I could really see this done is adding that material to a draw pass that will be ignored by auto exposure, but I am not really sure of the best way to achieve that.

Any help or ideas are appreciated on this! Thank you.

2 Likes

I don’t know if that’s possible but if this is just one room then I would just make a blueprint that adjusts a local post process volumes exposure settings based on how much the player is looking at the object. My method of choice is to just use a dot product of the camera forward vector and the normalized vector from the camera to the object. It’ll return a float in the -1 to 1 range based on how close the two vectors are and you can use that to drive a linear interpolate between the exposure settings.

Sadly, this is not constrained to one room. That was just an example I was giving to help understand the problem. In my case it can be anywhere inside/outside. Also, there is the issue where the player could be looking right at the object, but the object is currently behind something and not causing the auto exposure to do anything, I wouldn’t want to adjust anything at that point.

I was thinking of maybe doing something similar to this, where I can just adjust the glow amount on the materials of the object based on an auto exposure value. If there is a value I can read somewhere that will let me know when the auto exposure is high/low and I can just hook that value up to the glow intensity, that might just do this as well.

Not sure that is possible either…

Something that might work would be capping your emissive at 1 and then faking the bloom glow effect (lots of ways to do this). It will still impact the exposure but it should be minimal compared to driving the glow directly through a high emissive.

bump

All I can find regarding this topic is still this very thread.

I want to put sort of a 3D UI element into my world. It doesn’t drop shadows, it doesn’t show shadows, it should be transparent with regards to shadows. It shouldn’t affect lighting in any way (unlit) and it shouldn’t be affected by the auto-exposure which works fine for me otherwise. I would just use a 2D UI widget, however my object is placed in the 3D world and it is occluded by stuff in front (and it covers the stuff behind it).

Late to the show but I had the same issue. What I did was created a new material for the 3D widget by copying the default one. I then used the material node “EyeAdaptation” to ramp the emissive output down when eye adaptation was high. This made it so when in a dark area the surface would get less emissive, hence adaptation wouldn’t ramp from it. Kinda hacky but it worked.

So, the way to do this in UE5 is to plug your emissive into the EyeAdaptationInverse node.

In UE4 you can accomplish it similarly by dividing the emissive intensity by the EyeAdaptation node.

1 Like