0
$\begingroup$

I have a model with various materials assigned. I want to bake all these materials into a texture. It seems that only very few are actually being baked to the image.

My Settings

  • Cycles
  • Bake Type: Combined
  • All boxes Diffuse, GLossy, Transmission.. etc are ticked
  • I have a UV Unwrapping (Done by smart UV unwrap)

I hope someone can help me answer to why the result is as it is, and what I can to get a result with all the color? am planning to do a metallic map, and a normal map as well (TIPS appreciated). The model will be export to Unity.

enter image description here

Image of the bake result and the model (rendered in material preview mode)

enter image description here

Here is an image from solid mode ( when you press z) enter image description here

I fear that the materials may be compatible, so I will attach some images of those as well. They are all free assets available through BlenderKit.com and their plugin for blender.

enter image description here enter image description here enter image description here

$\endgroup$
2

2 Answers 2

1
$\begingroup$

From looking at the photo of the graph, the "combinedbake" node should be changed from "single image" to "generated". Add that node to all materials being baked.

$\endgroup$
1
$\begingroup$

Two things that are probably the culprit here:

Materials

The way Blender knows which material you want to bake in which texture is by loading that texture into the material using an Image Texture node.

We can see that you did put an Image Texture node that you renamed "CombinedBake" node in your first material, now you need to copy that node to all the other materials you want to include in the baking.

UV Map

Your current UV Map is really overcrowded, and with no margins between islands.

Baking will write pixels inside the UV areas, but also a little bit outside, that is what Blender calls "margin" (other softwares might call it "padding", "bleeding", "dilation", ...).
This is important to avoid discontinuities and artefacts at UV seams, due to texture filtering and mipmapping. But due to how Blender's baking works, if your UV's or baking's margin are not well done, in our case where the UV islands are too close from each other: the baking will basically overwrite itself when baking each island after the other.

You can change the baking's margin, but you always need your islands to also have some margin between them as well. When you hit any of the "unwrap" functions, you have a margin setting available in the Adjust Last Operation menu or via F6.

A good rule of thumb is to use a margin of your texture resolution divided by 128. For example:

  •  256 px² = 2 px
  •  512 px² = 4 px
  • 1024 px² = 8 px
  • 2048 px² = 16 px

You need to adapt both your UV's and your baking's margin to make the best result.

Some softwares like Substance Painter are able to bake with an infinite padding, making the texture fail-proof, as long as you have a correct margin in your UVs.


Sources and further reading:

$\endgroup$

You must log in to answer this question.

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