Map

class map

Note

This page contains all Map properties references and short descriptions, and the Map definition itself.

Each section has a code block with a script reference and another code block with a Blender Python Data Path to access the value in Python. The map class can be accessed by the following expression, where __item_index__ is an index of a key in the List of Objects, __map_index__ is an index of a key in the List of Maps, :

Accessing the Map class
map = bpy.context.scene.bm_aol[__item_index__].maps[__map_index__]

Further, the map will be mentioned as a reference to the initial Object’s Map class.

BakeMaster Map is a BakeMaster List of Maps class unit. The Map is a Property Group holding child properties that are accessed in the Bake Operator.

properties.py
...
class BM_Item_Map(bpy.types.PropertyGroup):
    ...
map

List of Maps Active Index

property object.maps_active_index

Active List of Maps key index is stored in this value. Not used in the UI.

properties.py
...
maps_active_index : bpy.props.IntProperty
...
bpy.context.scene.bm_aol[__item_index__].maps_active_index

List of Maps

class maps

List of Maps is a bpy_prop_collection_idprop collection class that contains keys. The key is the Map Property Group class.

properties.py
...
maps : bpy.props.CollectionProperty
...
bpy.context.scene.bm_aol[__item_index__].maps

Use Bake

property map.use_bake

use_bake defines whether to include the Map in the bake. If False, then the Map is excluded and appears greyed out in the UI.

properties.py
...
use_bake : bpy.props.BoolProperty
...
map.use_bake

Map Type

Type of the Map Pass as a map bake type. There are 25 different map pass types available and listed in the table below:

PBR-based

  • Albedo

Color image texture containing color without shadows and highlights

  • Metalness

Image texture for determining metal and non-metal parts of the object

  • Roughness

Image texture for determining roughness across the surface of the object

  • Normal

Image texture for simulating high details without changing the
number of polygons
  • Displacement

Height map used for displacing mesh polygons

  • Opacity

Image texture for determining transparent and opaque parts of the object

  • Emission

Image texture for determining emissive parts of the object

Special Masks

  • AO

Ambient Occlusion map contains lightning data

  • Cavity

Image texture map to store small crevice details

  • Curvature

Image texture map to store object edge data

  • Thickness

Ambient Occlusion map that casts rays from the surface to the inside.
Often used for SSS or masking. Note that Thickness is scale-dependent,
meaning the map will be not visible for small-scale models
  • XYZ Mask

Contains data of rays that are casted from a particular axis

  • Gradient Mask

Black and white gradient mask for masking

Default Cycles

  • Combined

Bakes all materials, textures, and lighting contributions except specularity

  • Ambient Occlusion

Ambient Occlusion map contains lightning data

  • Shadow

Bakes shadows and lighting

  • Position

Indicates object parts’ location in the UV space

  • Normal

Bakes normals to an RGB image

  • UV

Mapped UV coordinates, used to represent where on a mesh a texture
gets mapped too
  • Roughness

Bakes the roughness pass of a material

  • Emit

Bakes Emission, or the Glow color of a material

  • Environment

Bakes the environment (i.e. the world surface shader defined for the scene)
onto the selected object(s) as seen by rays cast from the world origin.
  • Diffuse

Bakes the diffuse pass of a material

  • Glossy

Bakes the glossiness pass of a material

  • Transmission

Bakes the transmission pass of a material

Baked Maps Examples

Below are presented baked maps of some map pass types:

AO

Albedo

ao

albedo

Cavity

Curvature

cavity

curvature

Gradient

Metalness

gradient

metalness

Normal

Position

normal

position

Shadow

Thickness

shadow

thickness

UV

XYZMask

uv

xyzmask

Tip

As long as adding a new map pass created a completely new instance of a map class, you can have multiple map classes with the same settings, for example:

property map.map_type

You can bake an unlimited number of Cavity maps for the Object.

properties.py
...
map_type : bpy.props.EnumProperty
...
map.map_type