"Normal Curvature to Roughness" produces a discontinuity

We are observing a discontinuity in the appearance of grass that uses a material with the “Normal Curvature to Roughness” feature enabled.

The discontinuity occurs at a distance of about 10 m from the camera. Looking at the buffer visualization, all buffers look ok, except for the Roughness buffer. The “Normal Curvature to Rougness” function is increasing roughness, up to that 10 m distance. After that, it appears to stop working and the roughness is written to the buffer unchanged as computed by the material graph.

See the attached image. From left to right: lit output, roughness buffer and Nanite shading bins. You can also see the discontinuity in the Nanite visualization, which leads me to believe this is the geometry switching to a voxel fallback (is there some way of visualizing it?) or some kind of variable shading issue which breaks the normal curvature calculation.

The vegetation model has only one LOD.

To test that we are not doing anything funky in the material graph I have also tested it with roughness and specularity outputs overridden by constant values (see attached image) and the issue still persists.

The discontinuity goes away when I disable the Normal Curvature to Rougness feature.

[Attachment Removed]

Hello,

Thank you for reaching out.

I’ve been assigned this issue, and we will be looking into the discontinuity for you.

I was unable to reproduce the behavior based on your description.

Can you please send us a minimal test project that demonstrates this?

The guide for test projects:

[Content removed]

[Attachment Removed]