UsdMetadataSet
Metadata provides a useful addition to the data stored for layers, prims, and attributes. The metadata is supplementary to core data items and may have a role defined by the schema or may be entirely custom according to the needs of the studio.
Metadata could simply provide descriptive information or documentation for attributes in the prim. Alternatively, It may contain information for custom workflows or tools. For example, renderer-specific metadata could provide hints about lighting for the studio’s choice of renderer.
Metadata is different from most other data in that it cannot be time-varying according to timecode or frame count. Once set, metadata remains fixed for the duration of the scene.
New USD metadata is declared using the ‘custom’ keyword preceding the data type, metadata name, and value, for example:
custom string lightingArtist = “JaneJones”
Setting USD Metadata
UsdMetadataSet lets you set metadata at one of three levels, selected using the hierarchy dropdown:
-
Attribute - set metadata on prim attributes contained within selected prims
-
Layer - set metadata on the top-level pseudo root
-
Prim - set metadata on the selected prims
For Atrribute and Prim you need to populate primPaths to identify the target prims. As Layer operates on the pseudo root, no prim paths are required.
Once a hierarchy level is selected, the settings are dynamically updated to offer the necessary parameters.
Metadata is defined using the metadataName, metadataType, and value fields. The metadataType dropdown is populated with all supported types in your USD version. For example, String, Float,or Double.
When setting metadata for attributes, use the attributeNames field to define a customizable list of attributes. Use the value in the first box to choose how many attributes you want to list.
A list of three attribute slots.
All types require the isCustom field to be set correctly to indicate if the metadata is pre-defined or a new, custom field.
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 |
hierarchy | Prim | The USD entity type on which to set the metadata. Choose from Attribute, Layer, or Prim. |
primPaths | N/A |
Add the path(s) to the prims onto which to set the metadata. This property is not required when hierarchy is Layer |
metadataName | N/A | The name of the metadata parameter. |
metadataType | Token | The data type for the metadata parameter. |
isCustom | No | Select Yes if this is a custom parameter and not one already offered by the schema. |
value | N/A | The value to assign to the metadata. |