No Matches
Usd : Universal Scene Description (Core)

Usd is the core client-facing module for authoring, composing, and reading Universal Scene Description. USD is designed to encode scalable, hierarchically organized, static and time-sampled data, for the primary purpose of interchanging and augmenting the data between cooperating Digital Content Creation applications.

Core API Manual

This manual contains the API documentation for the core Usd module, prefaced with an introduction to the key concepts behind the API, and including a guide to making effective use of the API. In this manual we do not deeply explore the composition semantics that underly Usd scenegraphs - that is the domain of the (forthcoming) Universal Scene Description Composition Compendium. We will discuss some aspects of the composition operators, primarily as they affect authoring workflows and/or scalability and/or import/export.

API Manual

Key Classes

  1. Object Model and How the Classes Work Together
    1. SdfLayer: Shared Data Files
    2. UsdStage: Composed View of an SdfLayer
    3. UsdPrim: Nestable Namespace Containers
    4. UsdProperty: Common Interface for Attributes and Relationships
    5. UsdAttribute: Typed, Sampled, Data
    6. UsdRelationship: Targetting Namespace Objects
    7. General Metadata in USD
    8. Composition Operator Interfaces: UsdReferences, UsdInherits, UsdVariantSets
  2. Basic Datatypes for Scene Description Provided by Sdf
    1. Attribute value types
    2. Basic data types
    3. Roles
    4. Array data types
    5. Dictionary-valued Metadata
  3. Important Properties of Scene Description
    1. Names, Namespace Ordering, and Property Namespaces
    2. TimeSamples, Defaults, and Value Resolution
    3. Defs, Overs, Classes, and Prim Types
    4. Model Hierarchy: Meaning and Purpose
    5. How "active" Affects Prims on a UsdStage
    6. Text, Binary, and Plugin Filetypes
    7. Resolving Asset References
  4. Advanced Scenegraph Scalability Features
    1. Dynamic File Formats
    2. Scenegraph Instancing
    3. Sequencable, Re-timable Animated "Value Clips"
  5. Authoring and Editing Scene Description
    1. Specifying Where Edits Should Go
    2. Client Safety and Response to Edits
  6. Common Idioms and Examples
    1. Traversing a Stage
    2. Working With Schema Classes
    3. Bool Return Values and Safe Operator Bool
    4. Error Reporting Policy and Control
  7. Best Practices and Common Questions
    1. Object Parameters as Const-Ref
    2. Reading Data Efficiently
    3. Payloads: Impact of Using and Not Using
  8. Threading Model and Performance Considerations
    1. Thread-safety Guarantee
    2. Usd's Internal Use of Multi-threading
  9. Creating New Schema Classes with usdGenSchema
    1. IsA Vs. API Schemas
    2. Impact on Interchange of Creating and Extending Schemas


UsdStage owns the scenegraph and provides access to a composition.
UsdPrim is the hierarchically nestable unit of scene description.
UsdAttribute records time-varying data on prims.
UsdRelationship records links to other prims and properties.
UsdEditTarget allows editing of any layer/variation contained in a stage.
UsdNotice contains notifications that Usd issues when a stage's contents change.
UsdSchemaBase is the base class for generated schema classes.
UsdTimeCode is an ordinate that can be floating-point or an unvarying 'default'.