14
$\begingroup$

This happens pretty much every time I try to bake normal maps. It's quite a broad error message and I still don't know exactly what the problems I'm having are, only that if I keep clicking things for half an hour eventually it sometimes just works.

My understanding of the things needed:

  • A "Generated" blender Image that the normals are written to (In UV/Image Editor, click Image->New)
    • Tell blender that this is the bake output, below (this is the really confusing bit which blender seems to try to guess and fails)
  • A UV Map for the low poly model (you only need the geometry of the high poly and it doesn't need a UV map)
  • Under Bake, in the rendering tab:
    • Bake Mode = Normals
    • Normal Space = Tangent
    • Selected to Active = (for the next bit)
  • Select the high rez object first, then the low poly object
  • With the two objects selected, click Bake (you may have to move the mouse to see the error pops up)

Now, from what I can tell the only difference between cycles and blender render (with regard to the setup and apart from the internals of baking) is how blender finds the output image:

  • Cycles

    Have a material using an ImageTexture node which points to your normal map output. Then this answer says the node must be selected, but this doesn't mention selecting.

  • Blender Render

    Have a texture attached to the material that uses the image. This tutorial is pretty vague on assigning the output image. Sometimes I've found hitting tab to go to edit mode and selecting the normal map image in the UV editor to help, or at least it seemed to.

I would like to know the exact details of what blender goes looking for when you hit Bake, rather than have to guess by following tutorials. For example, it seems to look for the high and low poly objects in your selection and based off the order you select them. How does it find the normal map/image to write to for both cycles and blender render? Does the Texture need to Influence Normals or does it just need to reference the Image? etc...

$\endgroup$
  • $\begingroup$ Make sure "selected to active" is checked under the render tab. $\endgroup$ – kate1song Jun 30 '17 at 0:40
  • $\begingroup$ I had this same problem. My issue was I had dupliverts enabled in the duplication tab for one of my objects. $\endgroup$ – Joseph Jan 4 '18 at 20:09
14
$\begingroup$

Cycles

Cycles bakes to the last selected image texture node in the object's material. Note that the node doesn't need to be connected to anything.

Blender Internal

This one is a bit confusing and non intuitive. You are mostly correct, you must assign all the faces to the texture as a Face texture.

This is done by selecting the target image in the UV image editor while all faces are selected in edit mode.

$\endgroup$
0
$\begingroup$

[Blender render]

I've found that you can also get this if you forget to have the image displayed in the UV window for the low poly model while in Edit mode. To restate - Your steps are

  1. enter edit mode on the low poly model,
  2. smart unwrap
  3. new image in UV window,
  4. In the outliner click the high poly model then shift click low poly model
  5. Configure your bake to normal maps and hit bake.

If you've already unwrapped and created an image, just

  1. enter edit mode on the low poly model,
  2. bring up the UV editor
  3. ensure the normal image you want to write to is visible in the UV window. Proceed to 4 above.

Also - I didn't need a texture assigned to a material on the low-poly, so that might be a red-herring.

If you're really crazy, you don't even need to unwrap the UVs yourself - but you'll get the standard unwrap instead of smart unwrap but that's messy.

From then on it appears you can chose any image to be visible in the UV window, without going back to the low poly model/edit mode and it'll bake to the image displayed.

$\endgroup$
0
$\begingroup$

I had a similar problem that turned out to be an issue with a modifier.

Everything was seemingly set up correctly but I still got a "no object" error. The reason for the error turned out to be a MASK modifier with a non-existent masking vertex group (one previously used but since deleted). Once the offending modifier was removed the error disappeared.

$\endgroup$

protected by David Jan 4 '18 at 21:44

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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