UsdInheritSet

This node allows you to inherit the hierarchy and properties from one source prim to other prims. If you make updates to the source prim, all the prims inheriting from it will automatically reflect those updates. This is particularly useful when dealing with multiple instances of a prim, as it ensures that you only need to make updates once, and those changes will be applied to all instances.

For example, imagine you have two cubes, cube1, and cube2, which you've created using two UsdPrimCreates. Cube1 is larger than cube2.

To make cube2 inherit the properties of cube1:

  1. Create a UsdInheritSet and open the Parameters tab

  2. Set primPaths to /cube2

  3. Set the inheritPath to /cube1

  4. In this case, listPosition can be set to either its default prepend or append since the order doesn't affect the cube inheriting another cube's size. This setting becomes more important when there are multiple items on the list.

Cube 2 now inherits the properties of cube 1.

Input

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

primPaths n/a Specify the locations of the prims where you want to add an inheritance, such as /geo. The inheritance is set on each specified prim.
inheritPath n/a Specify the location of the prim you wish to inherit from.
listPosition prepend

Specifies how Inherits are added to the scene. Options are:

  • append - adds new inherits by placing them at the end of the list. This ensures that they are evaluated after existing values, giving them the potential to override preceding definitions.

  • prepend - adds new inherits to the front of the list, causing them to be evaluated before, and potentially overridden by values added later or in subsequent layers.

  • delete - removes the inherits from the list, preventing their properties from influencing the composed prim in the scene.

  • reset to explicit - clears any existing inherits on the prim and sets the inherit list to be only the ones you're adding. It essentially instructs the USD scene to ignore any inherits on the prim(s) and only use the new ones.

For more information, refer to the USD Glossary under List Editing.