UsdRelationshipSet

UsdRelationshipSet sets a relationship on a prim. In USD, a relationship (or relationship property) is a directed connection between a prim and a property. It helps to establish references, dependencies, and links within the scene graph, avoiding data duplication. Instead of duplicating data in multiple locations, a reference points to the source. Any updates made to the source are then reflected in the referring prim.

Example: For example, let's say you have a skyscraper called "MegaStructure" with multiple interchangeable lobby designs. Instead of storing lobby details within the "MegaStructure" prim, we can use a relationship to reference a particular lobby layout. For example, rel lobbyDesign = </path/to/futuristicLobbyAsset>.

This relationship has the name lobbyDesign and its value is the path to the choice of lobby asset. This allows "MegaStructure" to dynamically associate with the futuristic lobby design. If the design preference changes, the relationship can easily point to a different lobby asset, enabling simple swaps and modifications while optimizing data storage and scene management.

Custom and Pre-Defined Relationships

In a USD schema, relationship properties may already exist to construct the prim in accordance with the prim schema. Alternatively, a custom relationship property is not predefined by any schema. Instead, it is added to meet specific needs. They allow the expansion of properties of a prim beyond what the predefined schemas offer.

When adding relationship, you can tell Katana if it is a custom relationship by setting isCustom to Yes. You should choose the correct option to ensure correct operation.

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

primPaths

N/A

 

The list of prim paths to receive the relationship. 

Manage this list using the Add Locations menu.

relationshipName

N/A

Assign a name to the relationship.

isCustom

No

Select Yes if this is a custom relationship.

value

N/A

The destination of the relationship. It can be a path to another prim, multiple prims, or specific properties. The target path is represented in a string format as </path/to/targetPrim>.Manage this list using the Add Locations menu.