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 and assembly 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 of component 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 an inherits 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 primary component that may reference other external component models. Used as an alternative to nesting components as subcomponents.

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 or assembly 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 _. For ASCII, this is usually the regular expression ([A-Za-z_]+[A-Za-z_0-9]*). For UTF-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.

Detailed References