Reflection Banding on Concave Metallic Surfaces.

As illustrated in the image, I am seeing significant banding on concave surfaces when they use metallic, ultra-low roughness materials.

I have isolated the offending mesh/material setup and created a “default” scene to try to troubleshoot where the issue is coming from. As far as I can tell, it looks like the unreal shader is doing some sort of optimization for reflections that is revealed when using concave surfaces. If I instead put a sphere in the scene and apply the same material to that sphere, it looks perfect and there is no banding.

I attempted the exact same “default” setup in both Stingray and Unity, both of those engines rendered the area smoothly with no banding.

Can anyone give me some clues as to what is going on in Unreal and what I might do to solve it?

Do you have reflection probes?

Yes, I have a single spherical probe in front of the mesh.

Are you using a normal map or is it just a mesh with no textures? Are yo baking lighting or using dynamic lighting?

if it helps, here is my scene setup (my post-process is “unbound”):

I am not using a normal map. I have a mesh created in 3DSMax, UV unwrapped on channel 1, lightmap channel auto-created by FBX importer. All lights are baked, model is set as static, lighting is stationary DirectionalLight

My guess is you are getting bad baking results from lightmass. It could be an issue with your model, what do the lightmap UVs look like? Do you get banding with just dynamic lighting?

The banding also kind of looks like it might be caused by dynamic shadows, try adjusting the angle of the directional light or adjusting the shadow bias of the light

Unwrap channels (screenshot accidentally cutoff the top - its not actually cutoff in my mesh):

I adjusted LPV bias to 2, no effect. I additionally rotated the DirectionalLight 90 degrees in the other direction, no effect. I also increased the lightmap resolution from 64 to 512, no effect.

Do you mind posting the model as an OBJ or FBX? Dropbox or Google Drive would work.

No problem, link to FBX here: https://drive.google.com/file/d/0B-SZgy0KBFauYzZCMmZlemNHOWM/view?usp=sharing

I also adjusted multiple shadow bias settings on the directional light and that had no effect either.

That’s way too high poly for what you need, many unnecessary polygons

On the polygon count - yes you are correct - we are currently only running shader quality and modeling process tests as we attempt to get a handle on producing for an RT engine. Poly count will come down next phase once we prove/test out the rendering quality.

Try unchecking “Lower Hemisphere is Black” on the skylight.

Ok, just tried that - while it did remove the black reflections from the model, the banding is still there as it reflects the atmospheric fog.

How does Normal buffer look? Can you see visible banding there?

I think you just found the worst case scenario for reflections, It doesn’t seem to be an issue with your model, I tried using a sphere and a cube with a sphere cut out, and while I didn’t see much banding, I did see some. Obviously this isn’t very noticeable once you uncheck Lower Hemisphere is Black, having black in the reflections makes the banding worse, and isn’t very realistic.

The banding occurs along the polygons, and having a lower poly model or normal maps would help reduce the banding significantly

I turned on the normals buffer for that view that maximizes the visibility of the reflection banding and the normal buffer does not show the banding. I even took it a screenshot into Photoshop and messed with the levels/curves to enhance any “invisible” banding that may be there - the normals buffer, when enhanced, shows banding horizontally in a totally different pattern than the reflection - which is as expected since there is a “gradient” of sorts going from top to bottom. So I don’t think the normals are to blame…