UsdMaterialBake

The UsdMaterialBake node is a SuperTool that can be used to export material assignments, variants, shaders, and lights. Exported USD data can then be imported back into Katana or other Digital Content Creation (DCC) packages that support USD. The UsdMaterialBake node works by looking for the differences between the node’s orig and the default inputs followed by each of the variant inputs in turn, if they exist. Anything differences found between orig and default or orig and variant can then be baked to a USD file and exported out of Katana. Typically, the node’s origin input is connected to a scenegraph location containing the information you want to bake out.

For more information on creating locations, see LocationCreate.

Note:  For versions of Katana before 4.5v1, you must to enable the USD plug-in using environment variables. For more information on how to do this, see Loading USD Plug-ins into Katana.

Note:  UsdMaterialBake nodes can only be used with materials and material assignments created through native Katana nodes, they cannot be used with materials created natively with USD. To bake native USD materials, use the UsdLayerExport node. See Native USD Layer Export.

Connection Type

Connection Name

Function

Input

 

orig

The original, or pre-existing scenegraph to which the default or additional inputs are compared.

default

A second scenegraph that has a different pass to compare to the default. UsdMaterialBake saves the difference between the original and default pass, or any additional passes.

 

Control (UI)

Default Value

Function

rootLocations

rootLocations

/root/world

Sets the scenegraph location(s) to bake the USD information for. Any location under /root/world can be used, but it is recommended that components or assembly locations are specified. The rootlocations parameter options are available by clicking Add Locations or dropdown menu.

For more information, refer to the Scene Graph Location and Scene Graph Locations Widget Types in Common Parameter Widgets.

Variants

default

default

Allows you to write variants of your asset to a single USD file.

Additional variants can be added by pressing the + button to the right of the Variants parameter. When additional variants are created, a new port reflecting the name of the variant becomes available on the UsdMaterialBake node. Additional information such as Network Materials or light data can then be plugged into the node, allowing you to bake out shading or lighting variants.

saveTo

None

Specifies where the exported USD file should be saved to.

For more information, refer to the Asset and File Path Widget Types in the Common Parameter Widgets.

looksFilename

shadingVariants

Allows you to set the name of the USD file to be written.

looksFileFormat

USD

Allows you to specify what USD format to write out. The available USD formats are:

.usd

.usda

.usdc

alwaysCreateVariantSet

No

When enabled, the USD file creates a variantSet type under the specified rootPrimName.

variantSets are always created if there are multiple variants to bake.

createCompleteUsdAssemblyFile

No

When enabled, you can specify a payload .usd file so an assembly can be written out. Assembly USD files are written out as in the .usda format.

Assembly USD files contain your geometry with all materials and shading assignments already applied. This means that additional nodes such as NetworkMaterialEdit or MaterialAssign are not needed on import, your asset is ready out of the box.

assemblyFilename

assembly

Specifies a filename so the assembly can be written out. Assembly USD files are written out as in the .usda format.

Note:  The assemblyFilename parameter is only available when createCompleteUsdAssemblyFile is set to Yes.

payloadFilename

N/A

Allows you to specify the location of the payload USD file containing the geometry needed to export an assembly.

Note:  The payloadFilename parameter is only available when createCompleteUsdAssemblyFile is set to Yes.

rootPrimName

/root

Allows you to specify the root prim name that your data is written under. When imported, all data written through the UsdMaterialBake is contained under that root name.

variantSetName

shadingVariants

Similarly to looksFilename, this parameter allows you to specify a name for variant sets written from the UsdMaterialBake.