About physically correct light intensity

How do you set the intensity of the directional light, everyone?

In the default scene of UE4, a value like 3.14… lux is set, isn’t it?
I think that about 100,000 lux is appropriate for the actual sun in fine weather.
I don’t see any scenes set with such values ​​in the Epic demoscene.
Also, if you set it to 100000lux, some nodes such as the SceneColor node may be overexposed and the display may be strange.
I feel that UE4 is not designed for such high light intensity in the first place.
(Intensity slider is also limited to 150lux)

When you want to create a scene that is easy to physically adjust
Do you have any idea how strong the directional light should be adjusted?
Please let me know your opinion.

1 Like

I haven’t noticed any over-exposure from using real sunlight values with SceneColor. I have my sun set to 120k lux.

I will say though that using SceneColor produces some obnoxious color banding, but I get this even at 10 lux

1 Like

You should measure the illuminance(Lux) value on a pure white, diffused plane placed horizontally(or vertically) in the scene using the Eye Adaptation debug view. The input for the directional light is not a single fixed value, Lux is the combination of all light hitting the surface(meter), so when you see a 100,000 lx for a bright, clear day, that’s the sun AND sky contribution.

3.14 for the default intensity is just because in a controlled scenario, it averages out to create a “properly” exposed middle gray, but that scenario is never the case so it’s just an arbitrary value.

The slider capped at 150lx doesn’t mean anything, just an oversight since inputs can have separate limits for sliders and manual.

Scene Color being pure white is because Scene Color implies a pre-tonemapped and pre-exposed image. If your absolute pixel values are anywhere beyond what your display can properly show, then it will be white.

2 Likes

Is this a special case? Comparison of scenes set to 100,000 lux and 10 lux. It was clearly overexposed and did not behave as intended.

thank you.
After all, I feel that adjusting at 100,000 lux is correct for PBR.
I tested it while displaying the Eye Adaptation,
In this state, the automatic exposure compensation does not work at all.
(It works well in the scene set to 10lux!)
I think it’s because the exposure compensation is lowered, but what kind of value do you think the correct exposure setting method will be in this case?

…Why is even the default scene named “TimeOfDay” set to just 1lux? Given that 100,000 lux is correct, I feel this is clearly a hindrance to learning.
I think we need a sample of a properly lit scene.

I think what is happening is that you have plugged scene color into albedo, which can’t represent values higher than 1. With realistic sunlight values, every pixel in SceneColor is more than likely going to be over 1, and so it just gets capped at 1 and looks white.

To be honest, I’m surprised it even works at 10 lux.

I’ve never seen SceneColor used in Albedo, I doubt there will ever be a way to get this to work. Typically SceneColor is used in emissive to provide opaque translucency or localized post process effects.

2 Likes

I was told that the Meerkat environment is set to 170,000 lux! The exposure was set to manual, and the automatic correction did not work, so when I tried setting it to such a value, it seems that it works well at first glance.
Do you think this setting is valid?

That is the expected max exposure value when you’re not using “extended luminance range” but still using physically plausible light values. You should ideally enable the option in the project settings so exposure is expressed as EVs instead, which directly relates to the measured luminance/illuminance allowing you to pull from other online resources as a starting point.

2 Likes

Hello,

I had the same problem and your advice was super helpful. For the other people, I’d like to leave step by step guide.

  1. Go to the Project Settings then check Rendering > Default Settings > Extend default luminance range in Auto Exposure settings.

image

  1. Check Lens > Exposure > Max EV100 in your Post Process Volume.

image

(In UE5, just check extend range would work.)

Thank you so much!

2 Likes

@r_o Hi, how could you measure the lux in an environment? I have an indoor environment scene in the Unreal engine and I want to measure the light intensity in lux on a specific surface.

1 Like

That would be amazing for archviz projects!