Light banding in UE 5.7

How can I get rid of the light banding? It’s literally everywhere. I tried following this tutorial, but I’m still getting the same issue. [TUTORIAL] Blue noise dithering PostProcess Material to fix banding in low-contrast gradients - Development / Rendering - Epic Developer Community Forums

I brightened the image a little so the banding is easier to see.

Hello there @gotfrosted!

Checking with my peers, if you are using the exact setup from that tutorial, then it’s a matter of isolating where the issue is coming from in your end. Please test the following cmdlets in your scene, they will visually disable features in editor, so you can rule out what’s causing the banding:

  • Try ShowFlag.PostProcessing 0 to disable PP. If the banding is still there, then the issue’s coming from your lighting setup, and no change in PP will resolve it

  • Next, test ShowFlag.VolumetricFog 0 and ShowFlag.Fog 0, to rule out any lingering fog effects in your interior. If you have no fog effects at all, this step can be skipped

  • Finally, go for ShowFlag.GlobalIllumination 0 to isolate Lumen (assuming Lumen is in use, of course)

Once you identify the cause, we can take further actions to fix it (like changing static/movable lights in case lighting is the cultrip).

Hello, @brs-sebascova !

I followed your instructions, but it’s still the same, there hasn’t been any change at all. Also, i tried switchling Lighting mobility, no changes. The added image below is brightened again.

Hello again!

That’s quite bizarre, as disabling all PP effects should be quite noticeable, and the lights should reflect the change. Not to doubt your screenshot, but there are bloom-like effects present, like PP is still partially enabled, maybe the command didn’t resolve fully. Just for testing, can you termporary remove the post processing module from your level?

If the issue persist with PP fully out, then I suggest checking a fix I tested on my end, setting up a similar scene with grain effects. Try by using cmdlet r.Tonemapper.Quality and set it to either 0 or 2 (it starts on 5 by default). The idea is to reduce tonemapper effects on scene, which could be resulting in the banding you are seeing.

As for lighting, since changing mobility did nothing, instead I would test by tinkering with the particular light from the screenshot, adjusting its Attenuation Radius, while checking it’s Intensity level. If you can share the full setup of that screen, we can investigate further.

in 5.7 the engine tonemapper dither changed, old blue noise material still helps but you need to set it up right.

add a PostProcess material at Before Tonemapping, sample BlueNoise 64x64 tiled with ScreenPosition, output 2/255 dithered lerp. set Blendable Location to Before Tonemapping and Priority above tonemapper. also make sure r.Tonemapper.GrainQuantization is 0 and r.Tonemapper.Dither 0 so they dont fight. if banding is only in sky, bump SkyLight RealTimeCapture or use Real Sky not gradient.

With r.Tonemapper.Quality set to 0, it actually gets even worse, while 2 looks pretty much the same as 5. How exactly can I share the full setup/settings of that screen? Also, I continued working on the lighting, and it seems to be about halfway done now. The issue is still there, it’s just less noticeable.

I don’t have the “Before Tonemapping” option, I only have the “After” and “Replacing the Tonemapper”

Thanks for the update, now we know Tonemapper is not the way, please set it back to 5, and let’s try something different. Please test cmdlet r.SceneColorFormat 5, which will force the engine to use full precision for the color buffer in your scene, reducing the banding.

Glad to hear lighting as improved the scenario, I would suggest to continue tinkering with intensity and exposure. Another thing worth checking, if you go to Tools > Debug > Pixel Inspector, you can use the tool to check your banding areas, and evaluate their values. If the transitions are abrupt, then the banding is definitely in the render. Otherwise, if the pixels change smoothly, but you still see the bands, then it could be a factor outside the engine.

Finally, for sharing your setup, a few screenshots of the panels in use (lights, post process, etc) should be more that enough to have a full picture of what we are dealing with.

I tested r.SceneColorFormat 5, but I didn’t notice any difference at all. Using the pixel inspector, I can see that the pixels are changing smoothly. But honestly, it’s hard to tell the difference because everything is so dark! If I brighten up the scene, the banding disappears. It only seems to happen in areas where the light falls off. That’s not really a huge concern for me, though, since around 95% of my map will be covered in lights anyway. I also have another post where you can see some other lighting issues, and those are really annoying. Maybe that will give you a better idea of what’s going on? I’m not really sure whether it’s an issue with UE5 or if I just haven’t set things up properly.

Here are a few screenshots of the lights and post process detail panel

Hello again, thank you for the screens, and extra details.

Considering that ther.SceneColorFormat change made no difference, and that inspecting the banding with the pixel tool showed that the pixels’ change is smooth, plus all we have tested so far, I think we can conclude that the banding is not coming from the render, more like it’s generated in the display you are using, and under very specific circunstances with light. Plus, since 95% of your map will be lit, this issue should not affect your final scene.

And from your screens, checking with my peers, there are a few tidbits worth adjusting:

  • You have Min and Max EV100 disabled, meaning your Exposure has no limits. I would enable both and experiment with range (start with something like -2 to 4), to prevent amplifying dark areas

  • Bloom > Convolution > Intesity at 64 is quite high, push it down to ~10

  • In that same vein, I would reduce the Intesity values for the Dirt Mask, and Chromatic Aberration