Normals and AO Baking issues

Ok, I’ve run into a weird behavior, that does not seem right to me, but maybe it is and it is my lack of knowledge biting me.

My steps are as follows:

  1. Make a cube or another object.

  2. Bake the AO onto the cube

  3. Note the proper bake.

  4. Make a duplicate of the cube

  5. Mirror the duplicate on the X-axis with ctrl-m.

  6. Bake the AO onto the duplicate into a new image.

  7. Note the the bake is just black. (Wrong.)

  8. Turn on your normal viewing

  9. Note the normals look correct on the duplicated cube.

  10. Invert the normals so they are facing inward.

  11. Try your AO bake. It works! This seems wrong to me. It should work with the normals pointing outward.

Now, to further test:
12. Duplicate the first object again.
13. Use the Mirror modifier on the object.
14. Apply the modifier
15. Enter edit mode and delete the “original” half of the mirror"
16. Now we have the mirrored object.
17. Bake the AO on this new object.
18. It works. The normals are facing outwards on the mirrored image and it bakes properly.

Why is this happening? Is there a way to work around it? Should I change my workflow to avoid ctrl-m in some way to get around this issue? Or is my understanding of the issue just plain wrong? Is this an outright bug?


I’m guessing but you could try recalculating the normals to the outside on the duplicated cube (select the cube in edit mode and press ctrl-n and recalculate normals to the outside.

That may fix you wrong pointing normals and maybe your black ao cube.

Also I’m not sure but, I think before you can recalc for normals on a modifier object you may have to apply it first , though like i say i am not sure.

Nope, the problem is that the Image bakes correctly if I use ctrl+shift+n. Pointing the normals inside. This seems wrong. The normals should be pointing out for the proper bake. For some reason, using ctrl-m (in object mode) or m (in edit mode) also flips the normals, but the AO bake seems to “think” that the normals are opposite what they really are.

Any other ideas?

I’ve found a workaround:

Scale the object by -1 and then recalculate the normals. Then it bakes fine. There is definitely a bug hiding here somewhere.

Further inspection has unturned more strangeness.

If you scale the object in object mode by -1 the normals will continue to face out. The AO bake will not work.

If you scale the object in edit mode by -1, the normals will face in. You must recalulate them to the outside, then the AO bake will work.

If you examine both objects, the flipped version in object mode and the flipped version with reversed normals from edit mode, they appear the same. Should that not result in the same AO bake?

This might come down to a misunderstanding on my part with worldspace vs. object space. It appears on the examples that the bake does not work, if I use ctrl-A and apply scale/rotation, then the bakes work. Clarification on this would be nice.