Baking Selected to Active

Information from other object can now be baked onto the active object, with the "Selected to Active" option in the Bake panel. The "Distance" parameter controls how far a point on another object can be away from the point on the active object. The "Bias" parameter can be used to bake not the closest point on another surface, but rather a mesh that is further away, for example baking an ID badge onto a shirt.

A typical use case is to make a detailed, high poly object, and then bake it's normals onto an object with a low polygon count. The resulting normal map can then be applied to make the low poly object look more detailed.

High poly object baked to a low poly object with a tangent space normal map, by Matt Ebb.

Normal Mapping

Normals can now be baked in different spaces:

  • Camera space: the already existing method.
  • World space: normals in world coordinates, dependent on object transformation and deformation.
  • Object space: normals in object coordinates, independent of object transformation, but dependent on deformation.
  • Tangent space: normals in tangent space coordinates, independent of object transformation and deformation. This is the new default, and the right choice in most cases, since then the normal map can be used for animated objects too.

For materials the same spaces can be chosen as well, in the image texture options, next to the existing "Normal Map" setting. For correct results, the setting here should match the setting used for baking. Note that this replaces the "NMap TS" setting in material options, which is automatically converted to the Tangent space option in the texture options

Displacement Maps

Similar to baking normal maps, displacement maps can also be baked from a high-res object to an unwrapped low-res object, using the 'Selected to Active' option.

When using this in conjunction with a subsurf and displacement modifier within Blender, it's necessary to temporarily add a heavy subsurf modifier to the 'low res' model before baking. This means that if you then use a displacement modifier on top of the subsurf, the displacement will be correct, since it's stored as a relative difference to the subsurfed geometry, rather than the original base mesh (which can get distorted significantly by a subsurf). The higher the render level subsurf while baking, the more accurate the displacements will be. This technique may also be useful when saving the displacement map out for use in external renderers.

High poly sculpted model baked to a low poly object with a displacement map, by Matt Ebb.

Displacement image bit depths

Previously, images created using Blender's image editor 'Image->New' function only generated images with 8 bits per channel. This was sufficient for baking colour or ambient occlusion textures, however using 8 bit images as displacement maps can cause artifacts and banding, since there's not enough precision in the image format to accurately store distances (see the image below).

There's now a new '32 bit Float' option in the Image->New dialog to generate 32 bit images, which is recommended for using when generating displacement maps. These images can then be packed internally, or saved out to a 32 bit format, such as OpenEXR.

Baking Alpha

Blender can now bake alpha transparency into an image texture, extending transparent pixel values for the margin.

Blender 2.45 assumed transparent areas of the image were not rendered and would add margins to areas of the images that were not baked. now a separate mask is used so alpha can be delt with as color is.

(more info and images will be added)