Shadow artefacts indoors.

I’ve been getting consistent shadow artefacts indoors from the skylight, especially in areas with multiple lights.

It gets worse when rendering a sequence.

Heres a vid of the issue: Render with lumen lighting/shadow artifacts. - YouTube

It’d be great if anyone has any ideas about what could be causing this.

I’m very new to unreal, so please use small words :slight_smile:

When you say “skylight,” do you mean the object type, Skylight, in your scene or are you referring to the light that is coming from the sky?

What settings are you using?

So digging into the SunSky object, if I delete the DirectionalLight, the artefacts go away.

The light seems to penetrate through objects whenever there is too much lighting in a scene.

Turning off Virtual Shadow Maps solves the issue, but obviously leads to a worse looking result.

I’m not sure what settings would be relevant (as a noob), what settings would you like to see?

For settings, how many lights are in your scene, what are their settings, do you have a skylight, what are your project settings for lighting, etc.

I’m not an expert, but it’s usually best to start with the basics:

  1. Lumen uses mesh distance fields which are generated based on import scale, which in turn is based on the real world scale of the object. So if your objects were very small to begin with and you scaled them up, you would need to adjust the mesh distance field resolution to match the new scale. You can check if this is the problem by using the mesh distance field visualizer under Show->Visualize->Mesh Distance Fields

  2. Lumen itself uses real world scale to calculate its distances. The documentation gives an exact thickness that all walls should be to prevent light from leaking through. If your scene is too large or too small in real world scale, this can cause problems.

If it’s neither of these things, this video covers some additional problems: Unreal Engine 5: How To Fix Lumen Shadow Maps (UE5 early access) - YouTube

I don’t know that that’s what’s going on, but it’s a good idea to check these first.

The scale of my scene should be fairly correct, as I’m importing a sketchup model with realistic dimentions, and it all lines up to the default FPS character. Walls are generally around 100mm thick. the floor is about 300mm thick.

I have maybe 60 lights in the scene, with about half of them in view at any one time (attenuation radius set to about 300 on all of them). I’m attempting to replicate the lighting that real down-lights would produce, so I “need” one spotlight per down-light. How many is a “lot”? I’m happy with degraded performance when all the lights are on, because all I want to do is render out a sequence, it’s just the artefacts that are an issue.

I had a look in all the visualise modes but nothing stood out to me.

SOLVED

I stumbled across this thread: https://www.reddit.com/r/unrealengine/comments/oqalo6/weird_light_squares_flickering/
Which had the exact same issue, and thankfully had an answer:

Raise the value of r.Shadow.Virtual.MaxPhysicalPages

I believe default is 1024, raising this to 2048 got rid of all but the rarest of artefacts, and I just set mine to 4098 for some headroom. No idea what other impacts this will have but it’s solved my problems!

1 Like

Awesome!

Yeah, frustratingly, a lot of these settings are only accessible through console commands and aren’t super well documented, if at all. Glad you figured it out.