Nanite fence flickering at distance with TSR

Hello,

We’re seeing strong flickering on a Nanite mesh with thin geometry (a fence/grid). At mid and far distances, it starts shimmering a lot. It looks like a TSR + AA issue.

We tried Preserve Area, but didn’t notice any improvement.

In 5.7, using Nanite Foliage with voxelize helps a lot - the flickering is much less visible. But we’re on 5.6.1, so we don’t have that option.

Is there any way to reduce this in 5.6.1 without replacing the mesh with textured quads?

What are the best practices for this kind of geometry?

Thanks!

[Attachment Removed]

Hi, Dmitriy,

When you are on 5.6.1, you can enable thin geometry detection in TSR with TSR.ThinGeometryDetection 1 and apply `two-sided foliage` material to it. In 5.7, when nanite foliage is enabled, thin geo detection is enabled as well for TSR. You can use `r.tsr.visualize 15` to check the green region. Those regions will reduce flickering.

Best,

Tiantian

[Attachment Removed]

Based on the video, I don’t see the thin geometry detection triggered on the fence when they are faraway. Potentially it is because it is too close to the background. Mind placing it further away from the background and test again? I would suggest you experiment in UE Main with later version than CL52447027. If you find it helpful, you can try integrate all the changes starting with [TSR] in the log.

Generally, I would not recommend having all fence lines parallel. That would trigger conditions like all pixels hitting background or fences. This would be difficult to detect. Adding some variation would help a lot.

[Attachment Removed]

Hi Tiantian,

Thanks for the suggestion!

I enabled TSR.ThinGeometryDetection 1, applied a two-sided foliage material, and checked the visualization using r.tsr.visualize 15 (attached a video).

Based on the visualization, it looks like thin geometry detection is working at near to mid distances. However, at far distances the detection seems to fade out, and the flickering remains about the same.

I also tried tweaking variables from the r.TSR.ThinGeometryDetection.* group, but didn’t notice any visible difference.

Is there something else we could try to improve stability at longer distances?

Thanks!

[Attachment Removed]

[Attachment Removed]