hookflash

2 answers · asked · Lesson: Intro to Baking Textures with Cycles · Course: Fundamentals of Texturing in Blender

Using Emit bake type instead of Diffuse for PBR textures

One thing that might be worth mentioning (maybe you cover this later on in the course?) is that, if your goal is to bake accurate PBR textures (i.e., image textures that can be plugged in as-is to a PBR-compatible shader), using the Diffuse bake type might not give correct results for an albedo / base-color texture. I've noticed that certain Principled BSDF channels, such as Metallic, can affect Diffuse output in such a way that it doesn't match what was plugged into the Base Color input. The workaround I've been using is to take whatever's plugged into my Base Color input of my Principled BSDF and instead plug it directly into an Emission shader; then, I can use Emit as the bake type.

I'm not sure whether this applies to other Principled BSDF channels as well...

  • crew

    Hi hhookflash ,

    When using the diffuse only bake type Blender will only use the color information from the Principled BSDF as in this tutorial. Remember though to uncheck Direct and Indirect under the Influence.

    I have done some testing and found no difference between your workaround method, using an emission shader and the bake type of emit, and using the principled BSDF with the diffuse bake type, when metallic is at 0.

    However with the metallic at 1, baking with the diffuse bake type and the principled BSDF, the baked texture is black. With a gradual darker color consistent with a gradual increase from 0 to 1. This is probably due to the way metallic works.

    The description from the Blender Manual:

    Metallic

    Blends between a non-metallic and metallic material model. A value of 1.0 gives a fully specular reflection tinted with the base color, without diffuse reflection or transmission. At 0.0 the material consists of a diffuse or transmissive base layer, with a specular reflection layer on top.

    Key words - fully specular reflection tinted with the base color, without diffuse reflection or transmission. 

    My method is to temporarily use a diffuse shader node in place of the principled BSDF and the diffuse bake method, but the principle is the same.

    jlampel what do you make of this?

    I would of thought the base color from the principled BSDF could still be baked with a diffuse bake type, seeing as it is still used as the tinted reflection?

  • crew

    Great find hhookflash , and thanks for the investigation adrian2301 ! You're right, it is more accurate to use an emission shader to bake the base color if there is metalness involved, otherwise the metal parts will be too dark. The emission workaround is exactly what I use for the other PBR textures like Roughness anyway, so it would be easier to just use that technique for the base color as well. 

    Baking should be getting an overhaul with Cycles X, so I'm crossing my fingers that it won't be necessary soon.