UsdVariantSet

USD's robust support for non-destructive editing offers various features for managing versions of prims. This includes the ability to version parts of the scene while preserving the original data using variants. A variant allows multiple alternative versions of scene data to coexist in the same stage. They enable artists and technical directors to handle multiple versions of a prim or a group of prims without having to duplicate the entire asset.

Key to working with variants is the concept of a VariantSet. This is a convenient container that holds groups of variants for a prim or prims. For example, you might place different lighting variants in a VariantSet called “DuskLighting”, holding several options for different lighting styles that you could use in a dusk-lit scene.

UsdVariantSet lets you select a variant for a prim from a VariantSet. The variantSet dropdown is automatically populated with any variant sets associated with the prim location in primPath. Select from variantSet to populate the variant dropdown with all the variants contained in the set. You can then choose a variant to apply to the prim from the variant dropdown.

Note:  The node UsdVariantSet node is named consistently with the other “set” nodes and refers to setting the variant on the prim, not the noun for a collection, “set”.

Use Add Locations to manage the list of additional prims for the variant.

  • Path - Add an entry path field to populate as required.

  • Append Scene Explorer Selection - Add a new path field to the list containing the current selection in the Scene Explorer.

  • Replace with Scene Explorer Selection - Replace all current path entries with the selection from the Scene Explorer.

Inputs

Connection Type

Connection Name

Function

input in The incoming scene graph data that the node will operate on or modify.

Controls

Control (UI)

Default Value

Function

primPath

n/a

Specify the location of a prim that is to be assigned the variant.

variantSet

n/a

Choose a VariantSet from the ones available on the prims in primPath.

variant

n/a

Choose a variant from the list of those in the set named in variantSet.

additionalPrimPaths

n/a

Add any additional prims that should use the variant. 

Use the Add Locations menu (see above)  to manage this list.