Nanite black streaks

I’m getting black streaks on my Nanite mesh. May I ask how I fix this?

Try this console command
r.RayTracing.NormalBias 10

1 Like

Uh? What just happened? That Console command was like MAGIC!

Is there a limitation with this console command? The mesh looks great outside of a blueprint actor. But if I put the Nanite into a Blueprint actor, the mesh turns darker color (I don’t think it is the shadow of the tree top).

Or, did I do something wrong? Should I avoid putting Nanite in Blueprint actors?

Thank you for this console command, it is what I need, just asking if I need to treat Nanite differently.

If I may give a brief explaination, Nanite’s full-resolution mesh can’t be used in things like RT shadows, because the mesh is rendered in a camera-dependant way. Instead, a low-resolution proxy mesh is used, and the black spots you were seeing were the result of the proxy mesh shadowing itself differently than the full-res nanite mesh.

That console command told the ray-tracing to ‘bias’ itself away from the surface, so the ray-tracing is offset a distance from the mesh to avoid over-occlusion.

I’ve had issues where blueprint visualization mode doesn’t use lumen or other GI featrures, but this global darkening is strange. Do they look the same in unlit mode?

I had to make a new material in order for the darkening to go away. If I’m doing an animation with Real Time Ray Trace lighting, can I rely on Nanite to render cleanly without the proxy mesh shadowing?

That would depend on what you mean by rely, I suppose. With the right CVars and tuning? Yes. But it won’t work out of the box, because the ray offset means the shadowing will miss fine detail as well. I suppose it depends on how important RT shadows are to the finished product, and how much art direction time you’re willing to sink into it.

In my experience, while RT shadows are superior to traditional shadow maps, the difference is significantly less between RT shadows and VSMs, especially with a small penumbra. If you absolutely need soft, diffuse lighting and shadows, go with RT shadows. If not, then virtual shadow maps can work quite well from what I’ve found.

1 Like

Interesting, what did you need to change in the material?

After converting to Nanite and applying the console command, the mesh was still rendering darker(looks like the surface normals were flipped). There is a side by side screen grab in the post. Then I made a new material and applied it to the Nanite and the asset rendered fine. The previous material was a material instance and the new material was not a material instance. Both had the same textures plugged in, there were not special material tweeks. Just a simple swap out from material instance to a new material that was not instanced.