Getting Started with the Basics of OpenUSD Authoring and Querying

90 minutes

In this Universal Scene Description (OpenUSD) learning path, you will learn how to get started programmatically authoring and querying OpenUSD data. Over the course of 90 minutes, you will be introduced to some of the basic terminology of data modeling in OpenUSD such as Stage, Prim, and Property, and you can extrapolate how these simple structures can be used to richly describe large virtual worlds. After you have created a Stage, you will learn how to traverse it to query and edit the data on it.

Learning Objectives

  • Explain what a Stage is

  • Author a new Stage

  • Use Prims and Properties to model data in OpenUSD

  • Describe hierarchy in OpenUSD

  • Recognize a Stage hierarchy

Getting Started with USD for Collaborative 3D Workflows

40 minutes

This course will introduce you to Universal Scene Description (OpenUSD) with hands-on learning through text editing .usda files and coding with the USD Python API to author OpenUSD data. It also features a brief introduction to a few of the most common composition arcs. The hands-on coding is performed through a Jupyter Notebook hosted online by NVIDIA’s Deep Learning Institute. All you need is a web browser to get started.

Learning Objectives

  • Overriding an asset’s base properties with Sublayers

  • Combining multiple assets with USD References

  • Creating different states of an asset with USD Variants

Take the course

After this course, you could optionally take the Essentials of USD in Omniverse course to reinforce your USD learning within the context of NVIDIA Omniverse or skip to more hands-on learning with the recommended tutorials starting with Hello USD Stage.

Essentials of USD in Omniverse

60 minutes Optional

This is a paid, optional course where you will learn about data modeling using Prims, Attributes, Relationships, and custom Schemas as well as Composition for scene assembly and collaboration. The hands-on portion of the training will utilize the USD Python API to experiment with the fundamental concepts of OpenUSD. You will be coding within Omniverse Code on a fully hosted virtual machine so all you need is a web browser.

Learning Objectives

  • Recognize USD data structures like Stage, Prim, Property, and Metadata.

  • Employ the most common composition arcs in USD.

  • Develop a Python script to assemble a warehouse pallet asset.

Take the course

After taking the Essentials of USD in Omniverse course, you will be ready to tackle more hands-on exercises starting with the Hello USD Stage tutorial. The following tutorials in this learning path will help reinforce the course content.

Hello USD Stage

10 minutes

You will learn how to write Python code using the USD Python API to create a basic Stage. You will also familiarize yourself with USDView to load and view the created Stage and introspect its content using the usdviewApi Python object in USDView’s built-in Python interpreter.

Prerequisites

  • Follow the USDView Quickstart to install USDView and locate the tutorial content for this tutorial.

Learning Objectives

  • Create a Stage using the USD Python API

  • Explore the USDView interface

  • Interact with the USDView Python interpreter window

Start the tutorial

The next tutorial will show you how you can begin to populate your own USD Stages which will be the foundation for building large virtual worlds.

Defining Your First Prims

15 minutes

You will learn two different ways to populate a Stage with Prims: using the generic Usd.Stage.DefinePrim() method which allows you to create any Prim type using a common API and using Schema classes.

Prerequisites

  • Follow the USDView Quickstart to install USDView and locate the tutorial content for this tutorial.

Learning Objectives

  • Create Prims of different types using the common Usd.Stage.DefinePrim() API and also Schema classes.

  • Practice working with Prim paths.

  • Query information common to all Prims.

Start the tutorial

This short tutorial will have you working with empty Prims. The next tutorial will show you how you can author and inspect the key-value pairs contained within a Prim.

Inspecting and Authoring Properties

15 minutes

You will learn how to author and inspect the properties of a Prim. Properties consist of two types: Attributes and Relationships. In particular, you will learn how to use the USD Python API to set new values for Attributes.

Prerequisites

  • Follow the USDView Quickstart to install USDView and locate the tutorial content for this tutorial.

Learning Objectives

  • Inspect the properties defined on a Prim.

  • Practice setting values for Attributes on a Prim.

Start the tutorial

With this tutorial, you will have authored a Stage with Prims and Properties. In the next tutorial, you will employ different methods of traversing a Stage so that you can systematically query or edit any Stage of varying size and complexity.

Traversing a Stage

10 minutes

You will learn how to traverse a Stage to visit all of the composed Prims on a Stage. You will learn a few different traversal methods which can be useful for querying the Prims on a Stage or for targeted editing of existing Prims on a Stage. Understanding Stage traversal will enable you to query or edit any Stage of varying size and complexity.

Prerequisites

  • Follow the USDView Quickstart to install USDView and locate the tutorial content for this tutorial.

Learning Objectives

  • Practice different ways of traversing a Stage’s hierarchy to find the prims composed on a Stage.

  • Observe how deactivating Prims affects traversals.

Start the tutorial

Conclusion

Congratulations on completing the Getting Started with the Basics of OpenUSD Authoring and Querying learning path! We encourage you to continue experimenting with traversing, querying, and editing different Stages that you may assemble within NVIDIA Omniverse or other digital content creation applications. To continue learning, you can explore more OpenUSD tutorials on openusd.org.