OpenUSD Terms & Concepts
Universal Scene Description (OpenUSD), like anything complex, mandates a lexicon capable of describing key ideas and concepts that may or may not exist similarly in other applications. This section is here to help you learn your way around some of the more confusing terms in OpenUSD and help clarify their intent and usage.
Definitions
- Access Semantics
Any field in OpenUSD can be override-able. Prims or variant sets that are expected to be “internal” must use semantics (like _ prefixes) to communicate editability expectations
- Aggregate Model Structure
An
assembly
model that exclusively contains references and high level asset prim interface edits- Anchored Asset Path
Asset identifiers may be “anchored” to their containing layer; empowers relocatability and deduplication of content
- Asset
Named, versioned, and structured container of resources (layers, textures, volumes, etc.) that is maintained and reused
- Asset Interface Layer
A root layer intended to be opened or referenced containing one or more entrypoint prims and lofted properties. Often uses the “reference-payload” pattern
- Asset Parameterization
Variant sets and primvars (usually on an entrypoint prim) that enable downstream variations of the same underlying asset
- Asset Path Valued Field
Property or metadata whose value is a path to an asset system managed resource (layer, texture, volume, etc.)
- Asset Prim Interface
A stable set of prims maintained for downstream overrides
- Atomic Model Structure
A
component
model whose dependencies are fully encapsulated- Branch
A parallel stream of an asset with its own set of versions
- Completeness (Model Hierarchy)
Aspect of model Hierarchy that encourages
component
andassembly
assets to work out of the box, generally with complete geometry and material descriptions- Computational Workstreams
Layer stacks backed by parallel computation that may not model a particular user workflow
- Component Model Boundary
The primary aspect of model hierarchy that separates “model hierarchy” (properly
kind
-ed ancestors ofcomponent
models from the non-model elements in the full “prim hierarchy”)- Embedded Context
Asset interface prims that aren’t entrypoints but can be useful context for previewing and thumbnail generation
- Entrypoint Prim
A primary prim for inspection and referencing into downstream contexts
- External Resource
A resource whose versioning is external to an asset container. An external resource is usually a versioned as part of an another asset.
- Fork
A duplication of an asset to introduce breaking / incompatible changes
- Inherits-instanceable Pattern
An
instanceable
assets can be edited in context through aninherits
arc- Internal Resource
A resource whose version is shared with other resources within an asset container. Generally represented in scene description with “anchored” identifiers
- Lofting
Moving or replicating a sparse set of data out a payload and into an encapsulating reference to make important fields like variants, inherits, and other metadata visible without loading the payload
- Mirroring Resolver
A resolver which greedily localizes an entire resource (layer, texture, volume field) as part of resolution. Mirroring resolvers sometimes warrant additional usage of payloads or variant sets to avoid synchronization.
- Model Kind
Model Kinds provide a way to organize and categorize Prims within the Stage hierarchy or “model hierarchy”. Read more about them here.
- Package Model Structure
An
assembly
model with one or internal primarycomponent
that may reference other externalcomponent
models. Used as an alternative to nestingcomponents
assubcomponents
.- Pipeline
The flow of assets through a production process
- Prims
Prims are fundamental building blocks or elements of a scene within the USD framework. Prim is short for “primitive” and it represents an individual object or entity within the scene hierarchy. Read more about Prims here.
- Pseudo-Root Prim
Every Stage has a pseudo-root Prim which ensures that the namespace hierarchy of a Stage is structured as a tree instead of a forest (i.e. one top-level prim). This simplifies Stage traversal algorithms. read more about Pseudo-Root Prims here.
- Reference-payload Pattern
A prim hierarchy split between lightweight important scene description that is “referenced” and its internal contents placed behind a “payload”
- Selector Model Structure
A
component
orassembly
whose sole function is to act as a variant switch between a set of related assets- Session Artifact
Scene or data that does not persist beyond the length of a session
- Shallowness (Model Hierarchy)
Aspect of model hierarchy that discourages deep model hierarchies for performance / navigability reasons
- Stages
A Stage is an instance of the USD data model that holds the entire scene graph and associated data. It serves as the entry point for accessing and manipulating the contents of a USD file or composition. Read more about Stages here.
- UTF-8/ASCII Identifiers
Identifiers are whitespace free / alphanumeric character sets plus
_
. ForASCII
, this is usually the regular expression([A-Za-z_]+[A-Za-z_0-9]*)
. ForUTF-8
, we generally mean the XID class of identifiers.- User Workstreams
User-facing units of work that may overlap or operate in parallel, typically modeled in layer stacks
- Variant Set
A Variant Set in OpenUSD represents a collection of alternative representations or configurations for a prim. For example, a Variant Set could include different material variations, different levels of detail (LODs), or different geometric representations of a model. Read more about variant sets here.