SunSky Atmosphere discussion

Hey everyone,
I am working on setting up light presets for archviz using the SunSky actor.
There are a few things that are very confusing to me:

The DirectionalLight intensity. It’s set to 75000 lux by default. In the offical doc it says:

“When the sun is at its zenith, it should be set to 120000 lux (or cd:sr*m^2) for an angular diameter of 0.545 degrees.”

This makes no sense to me at all since the sun is not changing intensity.
The atmosphere is just blocking more or less light depending on angle and composition.

So what I would like to do is setting the sun intensity up to 133,358 lux (thats sunlight above the atmosphere)
and have the SkyAtmosphere actor taking care of the lux actually reaching the surface. Since the scene brightness
is changing depending on the sun position this seems to work?

The second problem that I am facing is that its very hard to get a nice bluehour sky.
I am working with photo refs getting very good results during the day. But late evening skies will just look extremely
magenta and desaturated (after compensating tint) not matching my photo refs at all. I hope somone can help me.

Thanks in advance :slight_smile:

I actually still did not manage to create a proper looking bluehour sky. In the real world at one point after sunset the sky is turning deep blue but the atmosphere system will just get very magenta and black after that.

r.SkyAtmosphere.TransmittanceLUT 0
r.SkyAtmosphere.DistantSkyLightLUT 0
r.SkyAtmosphere.MultiScatteringLUT.HighQuality 1

Directional Light settings:

  • Intensity at 120000
  • 7º below the Horizon,

EV100 exposure value of 3.

Wikipedia says this phenomenon is caused by ozone absorbing light; If I’m understanding it correctly then you can tweak the result by changing the Absorption Scale which I think controls the amount of ozone present in the atmosphere. You can get a deeper blue with a more pink horizon by increasing the value:

2 Likes

Thank you very much! Like night and day! (pun intended) Setting MultiScatteringLUT High Quality to 1 gave me a beatiful evening sky. For bluehour shots transmittanceLUT 0 did the trick. Sadly this cant be used with the sun still visible.

r.SkyAtmosphere.TransmittanceLUT 1


r.SkyAtmosphere.TransmittanceLUT 0

r.SkyAtmosphere.TransmittanceLUT 1

r.SkyAtmosphere.TransmittanceLUT 0

If you need both then I would suggest changing the transmittance absorption color instead of disabling the transmittance LUT. (You will still need to set r.SkyAtmosphere.MultiScatteringLUT.HighQuality 1 and probably also r.SkyAtmosphere.DistantSkyLightLUT 0)

UE4_SkyAtmosphere_BlueHour2Settings
I eyeballed these values, you can pick your own. Anything in the saturated yellow range seems to work well. You may also try adjust the tent distribution, increasing the tent distribution width also resulted in a more saturated blue color which could be a useful alternative to upping the absorption.

Regardless, here’s the result:

This better preserves sunset colors, but it didn’t match my references as closely as simply disabling the transmittance LUT. So if you only need a static shot then I would go with that.

I’m sure there must be a more physically accurate way to set this up but I’m not sure what it would be. I tried searching for different ozone/atmosphere absorption coefficients but nothing I found worked as well as just eyeballing it with the absorption color.

1 Like

Never replied for some reason! Thanks for the help!