Rendering Glitch in Unreal 5.3 Lumen Reflections

Hi there, we’re seeing strange reflection glitches in 5.3 which are not seeing in 5.2 or 5.1…

Wondering if anyone else has seen these, or this might be a known issue/change since 5.2?

Here’s some examples:

5.3 - Glitch in reflections

5.2 - Reflections working smoothly

Current Settings:
Hardware Ray Tracing - On.
Lumen HWRT ‘On’
Reflections: Lumen
The glitch persists in both 5.3.0 and 5.3.1 from testing so far, with both TAA and TSR, and when I vary the screen percentage.

Lumen PPV:

[/Script/Engine.RendererSettings]
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
r.GenerateMeshDistanceFields=True
r.DynamicGlobalIlluminationMethod=1
r.ReflectionMethod=1
r.Shadow.Virtual.Enable=1
r.Lumen.TraceMeshSDFs=1
r.GPUSkin.Support16BitBoneIndex=True
r.GPUSkin.UnlimitedBoneInfluences=True
r.SkinCache.CompileShaders=True
r.SkinCache.DefaultBehavior=0
SkeletalMesh.UseExperimentalChunking=1
r.DefaultFeature.MotionBlur=False
r.AntiAliasingMethod=4
r.MSAACount=4
r.Nanite.ProjectEnabled=True
r.VirtualTextures=True
bEnableVirtualTextureOpacityMask=True
r.Water.SingleLayer.DepthPrepass=True
r.Water.SingleLayer.ShadersSupportVSMFiltering=True
r.Water.SingleLayer.VSMFiltering=True
r.Lumen.SampleFog=0
r.Lumen.Reflections.Contrast=0.75
r.VolumetricFog.Emissive=0
r.optimizedWPO=1
r.Nanite.MaxVisibleClusters=10485760
r.Nanite.MaxCandidateClusters=16777216
r.Nanite.MaxNodes=10485760
r.Nanite.RasterIndirectionMultiplier=1.1
r.Shadow.Virtual.TranslucentQuality=1
r.RayTracing=True
r.Lumen.HardwareRayTracing=True
r.RayTracing.Culling=0
r.RayTracing.Culling.Radius=10000
r.RayTracing.Culling.Angle=2
r.RayTracing.Geometry.NiagaraRibbons=0
r.RayTracing.Geometry.NiagaraSprites=0
r.RayTracing.Geometry.NiagaraMeshes=0
r.TSR.History.SampleCount=32
r.TSR.ShadingRejection.Flickering.FrameRateCap=30
r.TSR.ShadingRejection.Flickering.MaxParralaxVelocity=2
r.TSR.ShadingRejection.Flickering.Period=3
r.SupportStationarySkylight=False
r.SupportLowQualityLightmaps=False
r.Mobile.EnableStaticAndCSMShadowReceivers=False
r.Mobile.AllowDistanceFieldShadows=False
r.DefaultBackBufferPixelFormat=4
r.GBufferFormat=3
r.Substrate.AccurateSRGB=1
r.Substrate=True
r.Substrate.BytesPerPixel=170;
r.AllowStaticLighting=False
1 Like

ahve you tried to disable reflection screen traces?

In 5.3 we added full resolution depth screen space tracing. Does r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.FullResDepth 0 fix it?

Tried these CVars but the issue still persists:

r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.FullResDepth 0

r.Lumen.ScreenProbeGather.ScreenTraces 0

same team as SabSab here :slight_smile:

Ok, what about leaving screen traces on, and trying r.Lumen.ScreenProbeGather.Temporal.NormalThreshold 180? Is there some way you could share a simple repro scene?

doesn’t help unfortunately!

1 Like

screentrace off doesn’t help? weird. hmm. xcuse me then. it’s okay.

We’ll put together a small repro scene and post as soon as we can (might be a day or two - watch this space). It certainly seems quite odd/particular…

Appreciate the suggestions here folks

When you say you turned off screen tracing, have you turned off reflection screen traces? There are two cvars, perhaps you only toggled one for gather.

r.Lumen.Reflections.ScreenTraces 0

I say this because the artifact is only on the underside of the objects, at the point where screen traced and ray traced reflection transitions would occur.
Here is a quick mockup.
Reflection screen traces on:
image
Reflection screen traces off:
image
Because the second image is 100% RT, there is no artifact from the transition between trace methods on the underside of geometry.

With reflection traces on, sometimes it appears as though z fighting and/or temporal instability happens at these points.

:zap: UE REPRO PROJECTS for both 5.2.1 and 5.3.2 :zap:

5.2.1 - No issues on any view (we also had no issues with 5.1.1) - YOU CAN DOWNLOAD PROJECT FILE HERE (UE_ReproProject_5_2_1.zip - Google Drive) ((1gb file size))

5.3.2 - Reflections instability problem is very visible in project wide camera view, as well as close camera view, YOU CAN DOWNLOAD PROJECT HERE (UE_ReproProject_5_3_2.zip - Google Drive) ((1gb file size))

Turning off reflection screen tracing didn’t help so we still looking for fixes.

Many thanks!!

1 Like

okay. replication reference x.

5.3.2 - out of the box. rendered on 3060m - 1080p (obs cropped and softscaled - in case you wonder about the blurriness). driver version: 536.67 GRD. non-default driver options: global enforced vsync and fps limit 48.

barely noticable in the wide view. or what am i supposed to look at?

Tested, but with the blue water I don’t see anything as exagerated as in your video, just distortion because of water’s normals.

It may improve it disables screen traces, setting manual resolution of 100% in project settings and antialiasing method as TAA instead of TSR.

:zap: UE REPRO PROJECTS for both 5.2.1 and 5.3.2 :zap:
:zap:UPDATED PROJECTS WITH BROWN WATER MATERIAL :zap:

5.2.1 - No issues on any view (we also had no issues with 5.1.1) - YOU CAN DOWNLOAD PROJECT FILE HERE (UE_ReproProject_5_2_1.zip - Google Drive ) ((1gb file size))

5.3.2 - Reflections instability problem is very visible in project wide camera view , as well as close camera view , YOU CAN DOWNLOAD PROJECT HERE (UE_ReproProject_5_3_2.zip - Google Drive ) ((1gb file size))

Thanks so much for testing it - helps a lot! Did you try 5.3.2?

That’s the problem - with the darker colour glitch is more visible. In light blue is still there, less obvious, but there. For the project, we are using brown colour and once the project is on a large LED wall, glitch becomes even more visible and distracting. So yeah, still trying to figure it out… :v:

Anyways, I updated project files with the brown material used above!

5.2.1 - YOU CAN DOWNLOAD PROJECT FILE HERE (UE_ReproProject_5_2_1.zip - Google Drive ) ((1gb file size))

5.3.2 - YOU CAN DOWNLOAD PROJECT HERE (UE_ReproProject_5_3_2.zip - Google Drive ) ((1gb file size))

well… again… on my end the glitch is not as pronounced as your capture (driver settings for quality and other things may vary here). screentrace off does indeed not improve alot. i mean… it raytraces all the way or blends screenspace. screentraces do make it look better tbh, cause the sun shadows remain in the reflection, which isn’t the case with surface cache.

the lowest i can get the “glitch” is by tweaking “r.Lumen.Reflections.HierarchicalScreenTraces.RelativeDepthThickness”

the rest of the artefacting is simply the water normals being too ■■■■ dense. the deviation per pixel is too much. it literally has a different normal for every pixel, which results in noisy reflections. and since it’s animated water, the noise will move. that is the core issue my eyeballs and logic can pickup.

i’m done here. :slight_smile:

2 Likes

Another problem is definitely refraction, which is set to 5000 for some reason, which is causing huge issues. This should be set to something like 1.333.

Also I still believe screen traces are to blame for the underside edge artifacts.
With reflection screen traces:
image
Without reflection screen traces:
image
(normals off to make it more obvious)

I have no visible artifacts after toning down refraction, and disabling screen traces

1 Like

Epic devs confirmed there a regression since 5.3 causing this aliasing in Lumen Reflections with this case… Probably won’t make it into 5.4. haven’t had a bug/issue tracking number yet, but we’ll update if we get one!

Thanks for all the ideas from the community here. Always very valuable!