Blotchy global view in Unreal Engine

Hi everyone,

I’m getting this visual artificing when using the Cesium globe. I’m using sequencer to create a dynamic introduction to a data simulator. Can anyone comment on how to clean this up? I’m on a university network connection so I assume that the tiling should be able to keep up…

Hi @OET_Production, welcome to the community!

We’ve seen those artifacts before, though it may be the distance of the camera from the Earth, combined with the angle of light in the sky.

It would help to know or confirm a few things:

  • Are you using Cesium World Terrain? Or is this a different terrain dataset?
  • Does modifying the Maximum Screen Space Error on your tileset affect these artifacts?
  • Are you using CesiumSunSky? If so, does changing the Solar Time affect the appearance?
  • Do you see these artifacts in the regular Editor, or only in the sequencer?

Thank you!

default maximum screen space error of 16

    1. Yes, cesium World Terrain with Sentinel-2 imagery
  1. Yes, screenshots to follow
  2. Using Cesium SunSky: yes. Changing solar time affect appearance: no
  3. Only in play mode (and in our builds)

Here are a few screenshots:
maximimum screen space error: increased to 64

Any answer to this please?

It’s a common problem with Unreal’s SunSky. The fundamental issue is that Unreal’s atmosphere system assumes the Earth is a sphere. It’s not.

CesiumSunSky tries to work around this by adjusting the radius of the Earth for atmosphere purposes based on the camera position. There’s a comment in the source code explaining how this works:

It seems like this adjustment isn’t working in your case, because you’re seeing what that comments describes as a “very distracting artifact.” The most likely cause is that you’re viewing through a different camera from the one that CesiumSunSky is using to adjust the atmosphere radius.

To get the camera for adjustment purposes, CesiumSunSky uses this code:

So, essentially, it uses the location of the first player’s pawn. If the camera you’re actually using to view the globe is somewhere else, then this won’t work.

Unfortunately there’s no way to change this currently, short of changing the code. I wrote up an issue to make this configurable:

HI Kevin,

Thanks so much, this was very helpful.