Can't get rid of lighting artifact when using Normal Maps

Hi,
today I’ve been trying everything to try to fix this issue and I’m about to just give up. I have this model of a skeleton and I wanted to add a painterly normal map to it. Issue is, whenever I get any deviation for the standard light blue Normal Map color it shows horrible lighting artifacts at the seams.
I have tried everything I could:

  • Deleted custom normals Data
  • Tried multiple different normal maps (Only one that somewhat works barely deviantes from the standard normal map color)
  • Shade smooth / Shade flat / Shade Auto Smooth: They all have issues.
  • Checked normals are set to non-color
  • Re bake the normals countless times with different parameters. Using no high poly version. Using a subdivided highpoly. Using a more rugged highpoly.
  • Checked in Evee, Cycles, Material Preview, they all look horrible
  • Recalculate normals
  • Merge by distance
  • Checked double faces, double vertices
  • Checked face orientation, use recalculate outside
  • Changed the size of the object
  • Both OpenGL and DirectX look bad
  • Checked again and again the seams of the normal map: They are seamless and go nicely from one to the other. This doesn’t seem to matter.

As of now the only way to “fix” it seems to either hide the seams (Barely works, the lighting artifacts are so absurd that even if I tried it’d look bad) or just not use a Normal Map altogether. Either way, I’m locked out of using Normal Maps for this model.

Here are some images of the weird artifact in Material Preview, the same artifact in rendered preview, and the same model without any normal map.

If anyone has any clue as to what could possibly be happening I’d be grateful. This is driving me insane.

How does your shader node tree look like?

Which type of normal map are you using? I know some painterly tutorials make use of object or world space normals as part of the painting process instead of tangent space. You have to make sure the normal map node is set to the correct setting that matches the type of normal map.

I can’t send a pic because my PC is being repaired rn but it was a standard Principled BSDF node setup, nothing fancy: Image connected to the color, and a Normal Map image connected to a normal map node and then to the normal on the bsdf node. Tried changing practically all settings on the normal map but it always looked bad. Normal map was set as non-color

It was set as tangent space I believe. I did try changing it, but it still looked bad at the seams, just bad in a slightly different way

Normal map vectors need to be normal length. So especially if you painted on them normalize them. Did you do that?

Another thing is continuity. Check where your seems in the uv are and be aware that depending on the uvmap that there are non continous normal orientations next to each other.

You mean they loop nicely on tiling, but if you map a cube with a uv faces touch in other orientations aswell. Does your normals on the map fit in these cases too? And if that would only help if all your quads or islands match the uv 01 border at all sides.

I have my normal map connected to a normal map node on the shader graph, and then to BSDF.


On the UV side of things, this is my UV map:

It seems like it doesn’t matter what I do, the seams will always have a weird artifact. And the only way for it to have no artifacts is to have no seams. As of now it seems like I can’t have custom normals on a model with seams.

In this image, the model has subdivision and it looks like it’s changing the model quite a bit. Maybe that’s a problem? Normal maps are meant to be used on the exact model on which they were baked and subdivision can disrupt that depending on what exactly you are doing.

Would you be willing to share the file? You could strip it of other objects if there are any and you don’t want to give away the project.