Easy Bake 2 – Texture, UV, Procedural Materials and more

FAQ

The .zip doesn’t install in Blender

  • Please un-zip the archive and install the .py script.

How do I activate an addon?

What’s the difference between a texture and material?

  • A texture is a 2D image of a color map, roughness map, normal map, bump map, like a png, jpg, tga… A material is the combination of those textures put together.

    In other words, the texture is the sources from which a material is made, and a material is the “surface properties” used on objects and surfaces.

    And now you just take these combinations and you export it as an image with UV Easy Bake for further optimization in Photoshop, GIMP… or for transfer to other software like Unity, Unreal…

Which Blender version is this for?

  • It was fully re-written and developed from the ground-up specifically for Blender 4.0. It might work on older versions but it’s untested and not supported.

VIDEO DOCUMENTATION

DOCUMENTATION

Location

Panel
Material Properties ‣ Easy Bake

Easy Life
Addon Preferences

Actions

Bake (dropdown)
The dropdown lists all supported map types that can be baked. Clicking the relevant bake type inside the dropdown will cause that type to be baked

Bake All (queue)
Starts baking all objects listed inside the Bake Queue. Bakes every enabled tickbox ‘map’ of every object.

Copy/Paste Settings
Found in Easy Bake as well as the Bake Queue, clicking Copy will copy all the object’s bake settings, and clicking Paste will paste these settings. This is to make synchronising settings across different objects quickly. Copying settings from Easy Bake to the  Bake Queue or vice versa will not work.

Easy Life Update

Add/Remove Set
The set contains a list of items: properties to bake from. Each set appears in the dropdown to the right of the ‘Bake’ dropdown. When a non-default Set is active, this dropdown also contains a ‘Default BSDF’ option to return the Set to the original ‘Principled BSDF-only’ setup

Add/Remove Item
Available inside a set, add or removes items to it. These items each represent one specific bake property: one input of one node. These appear in the ‘Bake’ dropdown when that Set is active and require at least Name, Display name and either a Node Type or Node Name or both

Make Set
Adds the currently active (highlighted in white) node to the currently active Set. It adds all inputs so you might want to remove some of them. It also adds a ‘Weight’ input which is only used internally and will give an error if you try to bake it

Load/Save Set
Loads a Set from a preset or saves the currently active Set. These files are saved as a .json file. The one that came with this addon, “Default BSDF Shaders.json”, contains a Set that bakes from some of the default non-Principled BSF shaders, such as Diffuse BSDF, and Emissive.

Custom sets are not preserved when disabling or uninstalling the addon, so be sure to export (Save) your sets so you can restore (Load) them later

Settings
Object Properties

Name
Name the baked image will generate with. To the end of the name ‘.png’ will be added. You can use ‘dynamic name commands’ by typing specific words inside of curly brackets, {like this}.
Valid dynamic names are shown by hovering your cursor over the Name input and are on one of the posters that came with this addon.

UV Map
Sets which UV map to use when baking. This input displays a list of all UV maps that exist on the object. If nothing is set, it bakes with whatever UV map is currently active

Width/Height
Defines the X and Y size (in pixels) that the image will generate with

Scene Properties
Override

When true, new images will be saved over old images. This is only the case when the newly generated image shares the same name as an image that already exists. When Override is off, it will keep the old image and the new, renaming the new with a unique number at the end (example.001.png)

Split Slots
By default, all material slots in an object are all baked in to one texture. When Split Slots is enabled, every slot has its own image generated. It is recommended to include the dynamic name “{slot}” when using  Split Slots, or each layers’ image will save over the top of the others

Save Bake
When true, will attempt to save all baked images

File Path
The location the baked image will be saved to. The default value of ‘//’ is recognized by Blender as pointing to the local directory (the file location that the project is saved to).
This only works if the Blender file has been saved. Blender may give an error if you’re trying to save to a location that it doesn’t have write permission to or if you include invalid characters in your name.
Since this File Path property is saved globally (to the scene), you may include file path information in the object’s Name to give object-specific folders.

Easy Life Update

Display Name
The name of the bake item as it appears in the ‘Bake’ dropdown

Node Type
The internal ‘type’ Blender recognizes the desired node as. You can find this with the console command below

Node Name
The external name, or ‘nickname’ if you will given to the node. You can set this yourself in the properties panel. Using a custom name is useful when there are more than one of the same ‘Type’ of node in one shader, or when you want to specify a generic node to bake from across materials without caring exactly what Type that node is

Input Name
The name of the input you want to us on the node you’re baking from. This is usually just the name displayed in the Shader editor, but for when it isn’t, you can use the console command below.

Bake Queue
Object

Targets the object to bake from

Tickboxes
Toggles on or off each map that should be baked. Every box that is ticked will cause that map to be baked.

All other settings work as already defined

Using the Console Commands

Node ‘Type’
D.materials[‘material_id’].node_tree.nodes[‘node_id’].type

Input Name
D.materials[‘material_id’].node_tree.nodes[‘node_id’].inputs[‘input_id’]

How to use these commands

These commands are typed into the Python Console. While typing, you can press TAB to get auto-completion. For example, if you type `D.mat` and press tab, it will automatically complete it to `D.materials`.

It will also give suggestions. For example, when you’re not sure what the ‘node_id’ is, you can type out “D.materials[‘material_id’].node_tree.nodes[‘”, press TAB and it will give suggestions to help you find what you’re looking for.

‘material_id’ is the name of the material which contains the node you want to get the information from. It’s the same name as is shown at the top of the shader editor. ‘node_id’ is the internal name for the node. This isn’t the same as the ‘Name’ property mentioned before (that’s more like a user-defined nickname). Likewise, ‘input_id’ is the internal name of the node.

Since you won’t know the internal name of the node or the input, you can type to that part of the command and press TAB to get a list of suggestions, which should include the node you want.