Lumen having a lot of noise in reflections in dark areas

Hey im trying to create a quite reflective lumen lit scene indoors and i cant get rid of relfecion artifacts / noise that sadly is very noticable during gameplay. The issue did not get resolved by playing with different quality settings. Let me show you my settings and the issue itsself:

[video-to-gif output image]


[video-to-gif output image]

As you can tell from the gifs its flickering quite badly… to bad to be usable!

What did i miss? or is this the constraint of what lumen can do at the moment?
thankfull for any answers!

[video-to-gif output image]

Unfortunately? I believe you’re out of luck on lumen reflection quality. Long story short, lumen essentially can’t handle glossy reflections as a usable quality level right now.

Longer story: Near-mirror reflections are very coherent, which makes them cheap (relatively) and easy to denoise. Rough reflections (.4+) are incoherent enough that lumen can interpolate their lighting from the diffuse GI probes, so they’re cheap and stable. But glossy (.2-.4) reflections can’t resolve well with the current denoiser and are really unstable, which is all the boiling and flickering. Weirdly enough, raising the ‘lumen reflection’ quality setting seems to make the noise worse, and Daniel Wright mentioned glossy reflections being a big priority for them to improve.

That being said, you do have a few options on how to solve this problem (if dynamic reflections are a requirement):

  • Adjust the r.Lumen.Reflections.MaxRoughnessToTrace value to something lower than .4(default). This will force the GI probe interpolation to kick in earlier, and while you’ll lose detail on your glossy reflections, they’ll have less noise and the smooth ones are unaffected.

  • You can also do the opposite, use r.Lumen.Reflections.SmoothBias to force all materials to be smoother, and therefore render more coherently.

Obviously, both of these will change your art direction, one way or another. But assuming the scene requirements are for a real-time game that’s using dynamic lighting and GI, I think these are the two best knobs you have at the moment. If anyone has anything else that works, I’d personally love to hear it.
Best of luck to you.

11 Likes

Thanks mate, thats what i was looking for, a good explaination even if the answer is EPIC has to do more work :-D. I will try the commands you gave mo to improve it to a level where players dont get bleeding eyes!

Much apprechiated!

1 Like

I am experiencing Lumen Reflection Noise with Unreal Engine 5.3.

@jblackwell Your explanation of the problem got me thinking and try a few different things. I found these settings that seem to be giving me much better results with Lumen Reflections with materials that have roughness, and significantly less noise.

With these settings it looks much more realistic than the “screenspace” reflections, and not as good as pathtracing (obviously), but it’s something in the middle utilizing lumen reflections but much less noise than the default settings.

Settings to reduce Noise with in Lumen Reflections:
r.Lumen.Reflections.MaxRayIntensity=3
r.Lumen.Reflections.BilateralFilter.SpatialKernelRadius=0.01

The defaults for these values are:
r.Lumen.Reflections.MaxRayIntensity=100
r.Lumen.Reflections.BilateralFilter.SpatialKernelRadius=0.001

9 Likes

Excellent work! This looks wonderful.

There was one other thing: Daniel Wright told me that the lumen team used a tonemapping trick with lumen reflections when they needed them to work irregardless of noise: r.Lumen.Reflections.ScreenSpaceReconstruction.TonemapStrength 1

AFAIK it looks at high-energy regions of reflections and clamps them, so it erases noise but also a lot of fine reflection detail. If your lighting is pretty broad and strong, you won’t lose too much however. It’s currently just an on/off, but in 5.4 they’re making it adjustable, so you can tune your signal/noise ratio according to what’s acceptable for your level.

3 Likes

Hello!

How can I set this so it can remain permanently?

I checked the Engine.ini, but I can’t seem to find these settings.

In the post process volume, change the gain to a higher value.
image
The higher the value the better the quality and the more GPU it will use. 5 was good enough for me, others use 15 or 20. past that it uses a lot more.