1
$\begingroup$

I have a material that does some procedurally-generated bump mapping, and I want to bake the results to a texture to improve render times. However, I’ve found that baking a normal map seems to produce artifacts regardless of what I do! To illustrate, I’ve made an incredibly simple object without any bump mapping at all, which has normals that look like this:

I’m not trying to bake the normals from a high-poly mesh to a low-poly mesh, just bake the normals from a single object to a texture. Therefore, it doesn’t make sense to use the “Selected to Active” option, so my baking settings are incredibly simple:

However, despite the incredible simplicity of my setup, I find the baked normal map has lots of very visible artifacts:

I’m not sure what to do about this. Most of the questions I’ve seen about baking normal maps suggest adjust the settings in the “Selected to Active” panel, but as described above, I only have one object. Is there any way I can bake these normal maps without getting such visible artifacts?

$\endgroup$

1 Answer 1

1
$\begingroup$

It seems as though, as of Blender 2.92, baking a tangent space normal map without using Selected to Active does not work correctly in the presence of modifiers. I have opened issue T87449 on the Blender bug tracker about this.

In the meantime, there are a few workarounds:

  1. Apply modifiers before baking. This is probably the best workaround, since it’s easy to undo afterwards (or just temporarily duplicate the object for baking).

  2. Bake an object space normal map instead of a tangent space one. This does not appear to be affected by the bug, though it incurs all the disadvantages of using an object space normal map.

  3. Duplicate the object and use Selected to Active. This seems like strictly more work than just duplicating the object and applying all the modifiers, but it does seem to avoid the problem as well.

I decided to take the first approach, which, happily, produced a correct normal map.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .