How do you avoid weird artifacts while baking normals?

I’ve been having trouble from the beginning to make normal map bakes work, especially while dealing with hard surface meshes, it usually results in crappy normals and many times, even getting them to bake in Substance Painter still gets me weird artifacts on the low poly mesh such as the ones below:

Low poly mesh + baked normal map

Hi poly mesh

Low poly mesh + baked normal map

Hi poly mesh

My question is, how do I avoid them? I’ve combed the entire site for advise on this matter, but they either don’t apply to my case or don’t work, not sure how localized this problem is, it appears to happen in many other 3D applications. But what causes the weird artifacts during baking? How do I avoid them?

Here are the meshes in question:

This is not exclusive to this model, but a problem I’ve been experiencing from the beginning, and working around it, but today was finally the last straw and I really want to do something about it, rather than keep trying work arounds, 'cause with this particular model I ran out of workarounds and it’s otherwise a perfectly good model down the drain.

  1. Upload an image of your node setup (Where you apply the baked normalmap)
  2. Make sure the normalmap is not connected to the output before baking, otherwise it’s cyclic dependency
  3. Make sure that neither of the meshes have custom/edited normals. There’s a bug that prevents Cycles from baking correctly with custom normals.
    Properties Editor > Object Data > Geometry Data > if no custom normals are present, there’s an option to ADD Custom Split Normal Data
  4. Which version of Blender are you using? If 2.8 make sure you’re using the latest build.
  5. Best way to get help: if you can upload a blend file with the high-poly and the low-poly model

Thanks for replying, man, I appreciate it a lot.

1.So, first, my node setup is just the image I am baking to, disconnected everything else. So nothing much to see, I had no idea you needed a specialized node setup for that.
2.The normal map is not connected to anything.
3.I am baking from Multires, as baking from a high-poly mesh is a gigantic pain in the balls due to ray cast distance and whatnot. Too much to fiddle with. If I ever bake from high poly I use Substance Painter.
4.I am using 2.79, as 2.8 is still beta, too unstable and all the shortcuts are messed up and things aren’t where they’re supposed to be, so again, too much of a hassle to be bothered with it. Not to mention not everything is working 100%
5.I’d upload the mesh, but it’s not a problem constrained to a single mesh, unfortunately :frowning: it’s more of an ongoing thing with this and that, there must be something going on with: Either the edge loops, which messes up normals without holding edges OR, a glitch/bug with the rendering of the normal map bake. Which brings me to:

I’ve baked with Substance Painter, and other software and the problem seems to be the way in which Blender is rendering the normal map bake onto the low poly mesh, along with the way Blender bakes said normal maps I am not sure what the problem is, or whether edge loops matter, if there’s a hidden button, like, for example “autosmooth”, which neglecting to check this one box will cause your normals to render in a weird way and sometimes will cause artifacts. So I was wondering all these things…

The images scream that you’re doing sg wrong, but you give me no file, not even a screenshot, no one can help you like this.

Pardon my ignorance, what does SG stand for? Also, I don’t want to bias whatever advice you give me based on a file, I would like something that is multi-purpose, also, knowing the royal pain this is, I am really hoping the community has a good resource to go with as this is a problem that I see come up in this forum A LOT but many of the threads either die before finding an answer or people just give solutions for other aspects of the problem.

This looks to me like you’ve forgotten to switch the normal map convention when you baked the map in Substance. Either re-bake with it set to ‘OpenGL’ or just flip the green channel (either in photoshop, or in the shader) and see if that helps.

IT IS baked in OpenGL, I tried switching red and green, only red, only green, green and red, it’s not that. It’s probably related to the edge loops, but it’s hard to tell. I am still testing as we speak.

Edit: Oh, and it’s not just with THIS one. It happens to me more often than I’d like to admit. Also, I’ve seen this problem pop up a few times on this forum, but issues similar to mine have not been resolved.

Well then I’ve no idea. Just post your .blend and someone will figure it out. There’s just too many stupid things that might have gone wrong to keep asking about them back and forth. Don’t forget to include your texture.

I did not write SG, i wrote sg, which means something.

This thread will meet a similar fate, if you don’t do what you’re told. You’re hard to help. Just post the blend file.

Is the normal map set to non color data in the node setup?

This thread will meet a similar fate, if you don’t do what you’re told. You’re hard to help. Just post the blend file.

Ok, so here’s the file:

I am not sure the file will show the problem, other than my particular choice of edge loop distribution, which, while lacky, saves polygons. But that’s shown in the screenshots.

I think you linked the wrong file. That’s not the gun in your images. It’s also almost a gigabyte.

Edit: Actually, it’s this:

You had best take that down before someone sues you for copyright infringement…

So sorry, dude, I’m an idiot. I updated the file.

Is it normal to have “Color data” instead of “Non color data” in the image texture for the normals ?

No, it’s not.

Yeah, but fixing it doesn’t help much. (It does seem to help a little.)

I honestly have no idea. Must be something in the map itself. I think.

No, that was a mistake JUST NOW, 'cause I edited this file SPECIFICALLY for this post, so I get rid of all the unnecessary data (for filesize), so just change that one back to “non-color”. In the screenshots it’s correct, I just neglected that part by accident just now to post here.

Thing is, THAT’S how it bakes. Blender’s even worse. And in Substance Painter if looks just fine.

I’m thinking maybe it’s a triangulation issue? Try triangulating the LP mesh before export and re-baking?

You can just use the modifier, you don’t have to apply it.

I tried triangulating and decimating, the bake comes out super-weird and looks even worse. Plus the polycount skyrockets.