NCP-OUSD study materials
NCP-OUSD study resources

NCP-OUSD: OpenUSD Fundamentals and Core Concepts

NCP-OUSD · Work through your exam, one topic at a time.

All guide sections

OpenUSD Fundamentals and Core Concepts

This domain tests the mental model behind every other domain: USD is a composed scene description, not a scene file. You must move fluently between the persistent layer and the composed stage.

Core rules

  • A stage is a composed, in-memory view. A layer (SdfLayer) is one persistent document. Many layers feed one stage.
  • Prims form a namespace tree addressed by absolute SdfPaths (/World/Chair). Prim types come from schemas (Xform, Mesh, Scope, Material).
  • Properties are attributes (typed, optionally time-varying) and relationships (target paths, no value). Property paths use a dot: /World/Cube.size.
  • Path syntax: . is this prim, .. is the parent, / is the root, : selects a variant.
  • Metadata lives on prims, properties, and layers: kind, doc, customData, assetInfo, apiSchemas, defaultPrim, upAxis, metersPerUnit.
  • Variability is varying (default, time-samplable), uniform, or config (cannot animate, e.g. topology).
  • Value resolution: Get() is the strongest resolved value, GetAuthored() is the value in the current edit target, GetResolvedValue(time) evaluates time samples.

Worked example

/World/Cube.size is 2 in sublayer.usda and 4 in root.usda, which lists sublayer.usda in subLayers. The stage reports 4, because the root layer is stronger. Insert a new layer above root.usda in the sublayer list and author 2 there; the stage now reports 2 without touching either original file.

Traps

Treating a layer as a stage and flattening too early; confusing GetAuthored with the resolved value; assuming over defines a prim; omitting defaultPrim so references resolve to nothing; and forgetting that metersPerUnit and upAxis are layer metadata resolved together at the stage root.