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
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.
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
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.
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.
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.
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.