Render meshes in Arnold, storing the results into images in the texture space of the meshes. Supports multiple meshes and UDIMs, and any AOVs output by Arnold. The file name and resolution can be overridden per mesh using the “bake:fileName” and “bake:resolution” attributes.
Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.
Input connections to upstream nodes which must be executed before this node.
Input connections to nodes which must be executed after this node, but which don’t need to be executed before downstream nodes.
Output connections to downstream nodes which must not be executed until after this node.
Container for custom plugs which dispatchers use to control their behaviour.
Maximum number of frames to batch together when dispatching tasks.
Causes this node to be executed immediately upon dispatch, rather than have its execution be scheduled normally by the dispatcher. For instance, when using the LocalDispatcher, the node will be executed immediately in the dispatching process and not in a background process as usual.
When a node is made immediate, all upstream nodes are automatically considered to be immediate too, regardless of their settings.
The input scene containing the meshes to bake, and any lights which affect them.
The filter used to control which meshes the textures will be baked for. A Filter node should be connected here.
Sets the context variable used in the default file name to control where all the bakes will be stored.
The file name to use for each texture file written.
May be overridden per mesh by specifying the “bake:fileName” string attribute on the meshes to be baked.
The resolution to use for each texture file written.
May be overridden per mesh by specifying the “bake:resolution” integer attribute on the meshes to be baked.
The name of the primitive variable containing uvs which will determine how the mesh is unwrapped for baking. Must be a Face-Varying or Vertex V2f primitive variable.
How far Arnold steps away from the surface before tracing back. If too large for your scene, you will incorrectly capture occluders near the mesh instead of the mesh itself. If too small, everything will go speckly because Arnold has insufficient precision to hit the mesh. For objects which are fairly large and simple, the default 0.1 should work. Smaller objects may require smaller values.
A space separated list of colon separated pairs of image name and data to render.
For example, you could set this to “myName1:RGBA myName2:diffuse myName3:diffuse_albedo”, to render 3 sets of images for every UDIM and mesh baked, containing all lighting, just diffuse lighting, and the diffuse albedo.
How many tasks the bake process will be split into. UDIMs cannot be split across tasks, so if you have few UDIMs available, the extra tasks won’t do anything, but if you have a large number of UDIMs, and are dispatching to a pool of machines, increasing the number of tasks used will speed up bakes, at the cost of using more machines.
During baking, we first render exrs ( potentially multiple EXRs per udim if multiple objects are present ). We then combine them, fill in the background, and convert to textures. This causes all intermediate EXRs, and the index txt file to be removed, and just the final .tx to be kept.