Nanite with SSS Sparkling Interference

I’ve been trying to grab some screens of a character (using nanite) but have been running into a problem with the teeth. For whatever reason, the combination of nanite with an SSS profile on this specific mesh piece produces sparkles that constantly move around the area. Note that this character is one big static mesh with unique materials for each part; the effect does not happen anywhere else, even though other areas are using SSS as well, like the surrounding skin. Only the teeth suffer from this. If I turn SSS off on the teeth material or disable nanite, the sparkle is reduced to almost nothing.

I’m not sure if it’s because there is a significant gathering of vertices at the points that’s causing the trouble, or something else. The moment I turn nanite off, it goes away. Things I’ve troubleshot:

Two neighboring SSS profiles? No, there’s 3 profiles total on the character
Small objects? No, I have other similarly sized small objects with different SSS profiles sitting on the skin without issue
SSS settings? No, nothing makes it better, only worse
Nanite settings? Haven’t found any yet that make a difference

What could be causing this, and what would be a workaround, short of painting it out in post?

Hello there @Pirexx303!

This is a very specific interaction involving nanite, and has showed up in other threads, like the following:

From what’s been gathered, it has been reported, and should be addressed in a future update. In the meantime, please test disabling Hardware Raytracing from the engine, as well as switching your current AA betweem TAA/TSR, for testing.

Unfortunately these did not have the intended effect. Software RT still had flickering, and while TAA did not have the sparkling, it did produce black dots that behaved in a similar fashion. Thank you for the tips all the same.

This looks like an under-sampling artifact. Same as the kind of noise you see in RT without sufficient denoising or temporal/spatial sampling. Think of firefly artifacts in path tracing.

This is perhaps why TAA helped.
You can confirm if this is the case by changing r.SSS.Burley.NumSamplesOverride
A very high number should reduce the sparkles, but it’ll also make the material much more expensive. Try gradually increasing it. A value of 0 is adaptive sampling, and perhaps something about that part of the mesh isn’t playing nice with the adaptive sampling method.

You need TAA/TSR, DLSS, or any kind of temporal or spatial super sampling as well, as no reasonable sample count will be noise free.