Search Tips

Search is based on keyword.

`Ex: "Procedures"`

Do not search with natural language

`Ex: "How do I write a new procedure?"`

Give Feedback Support Portal

# 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.