OpenUSD Frequently Asked Questions

What is Universal Scene Description?

Answer: Pixar’s Universal Scene Description is a core technology of NVIDIA Omniverse. The open-source 3D scene description, file format, and API is easily extensible, originally developed to simplify content creation and interchange of assets between different industry software tools. OpenUSD began in the visual effects industry to simplify collaboration across large teams. Today, OpenUSD is becoming widely adopted across many more industries, including architecture and engineering, manufacturing, product design, and robotics.

What is OpenUSD used for?

Answer: OpenUSD is used for developing and managing large-scale 3D scenes and assets in the film, animation, gaming, AECO and digital twin industries.

What are some benefits of using OpenUSD?

Answer: Benefits of using OpenUSD include improved collaboration, reduced data duplication, and enhanced flexibility in workflow and pipeline design.

What software applications support OpenUSD?

Answer: Many 3D software applications support OpenUSD, including Maya, 3ds Max, Houdini, Katana, Blender, Revit, and Unreal Engine. The OpenUSD website lists more products that are using OpenUSD and there are more included in the list of apps with Omniverse Connectors.

What is the difference between OpenUSD and Alembic?

Answer: Alembic is a file format for storing and exchanging 3D assets. OpenUSD also fulfills this role of interchange of 3D data with additional core schemas that represent a greater variety of CG primitives than Alembic. Apart from excelling at interchange, OpenUSD is also a runtime with APIs for aggregating, composing, editing, querying, rendering, collaborating, and simulating within 3D virtual worlds.

Is OpenUSD open-source?

Answer: Yes, OpenUSD is an open-source project available on GitHub. The source code and documentation are open-source. You can view the source and contribute at the OpenUSD Github repository.

What programming languages can be used to develop with OpenUSD?

Answer: You can develop with OpenUSD using C++ and Python. OpenUSD is written in C++ with Python binding for most of its APIs.

What is a Stage in OpenUSD?

Answer: A Stage in OpenUSD is a 3D scene composed of one or more OpenUSD layers. A 3D scene is made up of data such as geometry, materials, and animations.

What is a Prim in OpenUSD?

Answer: A Prim is a basic building block in OpenUSD that represents a single object or element in a scene. Examples of prims are a mesh, a material, or a light.

What is a Property in OpenUSD?

Answer: A Property is a piece of named data associated with a Prim such as a mesh’s position in a scene. Property is a general term for the two different types of Prim data: Attributes and Relationships.

What is an Attribute in OpenUSD?

Answer: An Attribute is a type of Property that can store data of a particular type (e.g. integer, boolean, float, float array, etc.). An example of an attribute is a mesh’s position in a scene or its display color. An attribute’s value can change over time to produce an animated result. The time-varied values are known as time-samples.

What is a Relationship in OpenUSD?

Answer: A Relationship in OpenUSD is a Property type that can point to one or more prims or properties. An example of an Relationship is a material binding or assignment on a mesh. A mesh can have a material:binding Relationship that points to the bound material Prim.

Can OpenUSD be used for real-time rendering?

Answer: Yes, OpenUSD can be used for real-time rendering in applications such as game engines and virtual reality.

Where can I find out more about OpenUSD?

Answer: Here are just a few places were you can learn more about OpenUSD: