ArnoldTextureBake

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.

user

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

preTasks

Input connections to upstream nodes which must be executed before this node.

postTasks

Input connections to nodes which must be executed after this node, but which don’t need to be executed before downstream nodes.

task

Output connections to downstream nodes which must not be executed until after this node.

dispatcher

Container for custom plugs which dispatchers use to control their behaviour.

dispatcher.batchSize

Maximum number of frames to batch together when dispatching tasks.

dispatcher.immediate

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.

in

The input scene containing the meshes to bake, and any lights which affect them.

filter

The filter used to control which meshes the textures will be baked for. A Filter node should be connected here.

bakeDirectory

Sets the Context Variable used in the default file name to control where all the bakes will be stored.

defaultFileName

The file name to use for each texture file written. will be replaced by the UDIM number, and will be replaced by the aov name specified in “aovs”. If you want to do an animated bake, you can also use #### which will be replaced by the frame number.

May be overridden per mesh by specifying the “bake:fileName” string attribute on the meshes to be baked.

defaultResolution

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.

uvSet

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.

normalOffset

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.

aovs

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.

tasks

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.

cleanupIntermediateFiles

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.

applyMedianFilter

Adds a simple denoising filter to the texture bake. Mostly preserves high-contrast edges.

medianRadius

The radius of the median filter. Values greater than 1 will likely remove small details from the texture.