Can I bake multiple materials on an object into a single texture?

to combine materials into a single one

Yes. But it can be a bit of a pain. So I recommend practicing first on an object with just 2 simple materials to get the method down.

There are two possible scenarios (that I can think of):

  1. There is no UV island overlap between materials in the object;
  2. There is an overlap and you need to bake to a new UV map.

In the first case, simply:

  • Add an Image Texture Node with a new Image to ALL of the Materials.
  • Make sure that Image Texture is selected in ALL of them before baking.
  • In Bake tab chose desired Bake Type.
  • Bake.

The second case is a bit more tricky and there are at least 2 ways to remap:

  • either duplicate an object, do a new unwrap, add a new material with Image Texture node and then bake Selected to Active;
  • add a second UV map in the original object and bake to that (I have an example file and an explanation, but it can be a real pain).
1 Like

Thanks StrayBillie

I 'd like to avoid selected 2active ray tracing approach since you have to deal with ray distance artifacts that way . I am trying just t bake into another UV set .
Copying same output in all involved materials looks like working in a test file but doesn’t work in my actual work. It says something about no output for some obscure material I don’t even use and bakes just nothing.
Baking is so tricky convoluted in Blender :frowning:

BTW, is there a way to copy same output texture to all materials at once?

Heh, true, there’s a lot of room for improvement in baking. It requires some exploration, a lot of attention, has some weird issues with non-zero metallic, sss and sheen values…
Pretty sure there are addons out there that make the process easier, but I’m not familiar with them.

I think baking will go through all material slots assigned to the object, so you should probably remove the unused ones (or add the image texture to it?). Though I was under impression that it would still bake all the material that do have the texture…

Probably not. You can write a script to do that though.