Intro to USD

A compilation of my notes from studying USD.

Rob Osborne's picture
Rob Osborne
intro-to-usd

Intro

USD (Universal Scene Description) is a framework that was developed by Pixar to improve the collaboration between technical and creative by moving from a sequential workflow to a collaborative workflow. The (.USDA) file type is used in a variety of programs like Maya, Omniverse, Unity, and Unreal Engine.

Notes

  • The USD file type has access to the sublayers, references and variants of a project.
  • Each department with pixar used to have different apis to do the things they do.
  • Project became open source in 2016.
  • A single USD file can contain meshes, lights, shaders, camera information, etc.
  • The USD file type can have multiple representations like .USD, .USDC , .USDA , and .USDZ
  • The 6 kinds of composition arcs in USD files are sublayers, reference, payloads, variants, inherits, and specializes.

Hydra: rendering architecture

  • Rendering architecture for images from USD
  • Supports rendering backends like OpenGL and RTX ray tracing.

Terms

Prims: The primary container object in USD. Prims can contain other prims, creating a namespace hierarchy.

Layer Composition: The ways in which USD files can be combined together.

Stage: The outermost container for scene description.

Properties: The other kind of namespace object in USD. There are two types of properties (attributes and relationships).

Relationship: A namespace pointer. Relationships can have multiples targets.

Schema: An object that authors and retrieves structured data from some UsdObject.

Layer: The atomic persistent container of scene description for USD.

LayerStacks: The keystone to understanding composition in USD. It is the ordered set of layers resulting from the recursive gathering of all SubLayers of a Layer, plus the layer itself as first and strongest.

Sublayers: The composition arc used to construct LayerStacks.

References: The composition arc that can be used to achieve a similar kind of layering data, when one knows exactly which prims need to be layered.

Payloads: The composition arc that is a kind of reference. Payloads are weaker than references and given a LayerStack, all direct references will be stronger than all direct payloads.

VariantSet: The composition arc that allows a content creator to package a discrete set of alternatives, between which a downstream consumer is able to non-destructively switch, or augment.

Inherits: The composition arc that addresses the problem of adding a single, non-destructive edit that can affect a while class of distinct objects on a stage.

Specializes: The composition arc that allows a specialized prim to be continuously refined from a base prim, through unlimited levels of referencing.

Resources

Categories

BasicsUSD