3
$\begingroup$

In short: flat surfaces are baked as non-flat.

I'm trying to bake normal map. It has some weird topology, but still quads, and they are flat. But, blender bakes those flat places as if they were not flat. I believe, instead of raycasting, somehow, it just uses data from smooth shader. enter image description here I use default settings for bake, just changed bake type to "normal".

upd: i tried to double check everything and test it on cube. Just bake cube. Now, instead of baking cube, blender uses cube's uv map as mask to bake previous object, that was hidden and unselected. enter image description here

$\endgroup$
  • $\begingroup$ that's laughable $\endgroup$ – igor kim Jul 16 at 5:28
5
$\begingroup$

This happens when you have smooth shading turned on on the base mesh. Making it flat shaded or enabling autosmooth should fix the issue.

For the baking on the cube, it's not recommended to have the image you are baking in the material ("Circular dependency for image "image name" from object "object name""), as it uses the old normal map to bake the new one. Try disconnecting it and bake again.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Yep, smooth shade on base model was causing weird map. I'm getting blank normal map with just margin lines now))) 13 hours of non stop fun, woohoo $\endgroup$ – igor kim Jul 16 at 7:55
0
$\begingroup$

BTW ama dumbas. I was making normal map for unity, so i can use baked normal map instead of edgy imported or calculated normals in unity.

To do so, i need: under Influence use Object Space instead of Tangent. I believe it was unclear for me because i love to learn myself(though it is not effective) and my english is not too good. Tangent doesn't bake "global" normals of mesh, it bakes some little holes and small details on surfaces, that already have calculated normals from other source. So, Tangent must be used in tandem with already known normals. In my case, i wanted complete normal map to use it instead of normals that comes with .obj. I should have used Object Space, it calculates both small details and "global" angles of faces. And, adjust RGB under influence, for Unity it is -X, +Z, +Y.

Hope it helps. Aaaaand, my results, imported(.obj) normals vs Object Space baked normals(absolutely same material settings): enter image description here

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.