SkyAtmosphere horizon fog is shifting and flickering at large distances

Hey everyone, I’m having a pretty big issue with the SkyAtmosphere actor and can’t find any way to work around it. As shown in the video below, anything on the horizon that’s far away from the camera produces this “flickering” behavior when rotating the camera vertically.

This even happens to a certain extent in the default “TimeOfDay” level on the clouds in the distance, so it doesn’t seem to be an issue with my specific setup. I sent in a bug report two months ago, but it doesn’t look like there will be a fix in UE4.27 and so far no word whether it will be addressed in UE5 either.

Since the old atmospheric fog is deprecated, surely I can’t be the only one who ran into this issue. Does anyone know if there’s a way to prevent or hide it? The only “fix” I could find is to not have any far away objects, but that’s unfortunately not an option for me.

Sample project download, tested in 4.26, 4.27 Preview 3 and UE5 Early Access 2.

1 Like

Still the same issue in 4.27.

Can anyone confirm I’m not going completely mad? How can anyone use the new sky atmosphere like this?

1 Like

I’ll give this one last bump before giving up. Does anyone have a fix for this issue?

This is the fast SkyAtmosphere LUT, I believe the issue is caused by the resolution lowering at large distances but I’m not sure how it works honestly. Regardless, it is visible on distant objects that are below or near the “planets” surface.

You have a few options:

  1. Raise your geometry up until you can’t see the issue anymore
  2. Set your SkyAtmosphere transform mode to the Component transform, then lower it until the artifact disappears. (This is the solution I would choose)
  3. Add an exponential heightfog, this will fill the lower atmosphere and hide the artifact (possibly ideal for example if you have an enormous crater that goes below the planet surface)
  4. Just completely disable the Fast LUT (probably the best option for film, but you still need to make sure your geometry is all above the planet surface)
2 Likes

Thank you so much for the reply! This issue was driving me insane and this clears it up a quite a bit.

The lowest point of my terrain is about 20000 units high and I was already using an exponential height fog. Raising the terrain or lowering the SkyAtmosphere does indeed seem to work, but I have to go to some pretty high values to hide the problem entirely. Lowering the atmosphere to -200000 seems to do the trick in my case, but that has a pretty dramatic impact on the look of the sky. It might be possible to work around that with different settings though, and even if it isn’t, it’s better than no solution at all.

All that being said, disabling Fast LUT appears to be a much simpler solution. You mentioned that this would be best for film, but I didn’t notice any downsides. Rendering cost appears to be virtually identical. Do you know what exactly the advantages of FastLUT/FastApplyOnOpaque are supposed to be?

I imagine it will vary by scene but I’m seeing an immense performance impact in UE5EA2.

1 Like

Dang, that’s a huge difference indeed. I could only make out a difference of 0.3 ms at most in UE4.27. Which isn’t nothing, but a hit I would probably put up with. Sounds like I shouldn’t rely on it staying that way though, if I ever want to upgrade to UE5. Hopefully it’s just a quirk of UE5 early access, but definitely something to keep an eye on.

thank you