How to Use OpenUSD
Universal Scene Description (OpenUSD)
is an open, extensible framework and ecosystem with APIs for composing, editing, querying, rendering, collaborating, and simulating within 3D virtual worlds.
This post explains how you can start using OpenUSD today with your existing assets and tools and what steps you can take to iteratively up-level your USD workflows.
For an interactive, comprehensive introduction to the essential concepts, vocabulary, and best practices for OpenUSD, explore the
free Learn OpenUSD learning path
from the
NVIDIA Deep Learning Institute
.
Data exchange
OpenUSD does not replace your existing tools or data formats. As the name suggests, Universal Scene Description provides a common way to represent data for many 3D concepts such as meshes and PBR materials. It continues evolving to support additional concepts such as physics and B-reps.
Figure 1. OpenUSD’s growing ecosystem of DCC applications
To begin using OpenUSD with your existing assets, use an exporter or converter to bring your content into USD. This approach ensures swift and effective integration into new USD workflows. By using USD in this way, you can begin to enhance collaboration, performance, and interoperability across different stages of production.
For more information about how to get started, see the
list of applications and tools that support USD interchange
.
As you expand your USD workflows and want to use OpenUSD with proprietary data, you may have a need to develop your own data exchange solutions.
Data exchange pipelines manage the extraction, transformation, and ingestion of content from one data format to another. There are several primary types of data exchange solutions used to integrate existing content into USD workflows:
Importers and exporters
: These are found in digital content creation (DCC) applications and enable you to directly import and export 3D assets to and from USD. Popular software like Rhino and Blender facilitate the importing of 3D assets, while applications like Houdini open 3D assets as native USD files.This makes it straightforward to work with USD within your existing tools.
Converters:
These are standalone programs or scripts designed to convert 3D files from various formats to and from USD. They offer flexibility for batch processing and automation, ensuring that your assets can be easily transformed without the need for manual intervention.
USD file format plug-ins
: This type of USD plug-in enables you to keep your data in its original source format while dynamically reading and translating it to USD on the fly when you open a stage. This means you can work with your assets in their native formats and still benefit from USD’s powerful features, while maintaining data integrity and workflow efficiency.
Conceptual data mapping and extract, transform, load (ETL) are crucial processes for developing data exchange solutions that help ensure the seamless transfer and integration of 3D assets and data.
Conceptual data mapping
involves defining how data from one system or format corresponds to data in another system or format. This is particularly important when working with different DCC applications or file types, as each may have its own unique data structure and representation.
ETL is a more comprehensive process used to move and integrate data from one system to another. It consists of the following main steps:
Extract:
Pull data from the source system or file format. The data could be 3D models, textures, animations, or any other relevant content.
Transform:
Transform extracted data to fit the target runtime requirements. This might include converting units, reformatting data structures, or filtering out irrelevant or private data.
Load:
Load the transformed data into the target runtime. This is sometimes called
ingestion
and ensures that the data is ready for use in USD-based workflows and applications.
Conceptual data mapping and ETL processes are essential for ensuring that content can be effectively and accurately transferred into the USD ecosystem, maintaining its quality and functionality throughout the exchange. The
OpenUSD Exchange SDK
can help accelerate the development of data exchange solutions and help with authoring high-quality OpenUSD data.
After getting your data into OpenUSD, the next step is understanding how to aggregate and structure it for maximum efficiency.
Learn how to
develop data exchange pipelines
with the free Learn OpenUSD self-paced curriculum.
Asset structure principles and content aggregation
Well-structured assets unlock effective content aggregation and asset reusability—this is where OpenUSD truly excels. Proper asset structuring and content aggregation are key methods for efficiently organizing and combining 3D assets and scenes in complex projects.
Developing an asset structure involves breaking down your 3D content into smaller, manageable components that can be easily referenced and reused. This enables you to create a hierarchical and organized structure that simplifies the management and maintenance of your assets. This approach both improves reusability and performance by enabling you to load only the necessary components when needed.
With a well-designed asset structure, you can enhance collaboration as different workstreams can author data independently in separate layers, which can then be composed into a single asset. This non-destructive editing approach ensures that changes made by one team do not overwrite another team’s work.
After you’ve built your smaller components, use content aggregation to combine them into a single cohesive scene. Composition arcs, such as references and payloads, support this process.
Figure 2.
Digital twin of a liquified natural gas carrier
(credit: HD Hyundai and Siemens)
These techniques help make OpenUSD a powerful tool for managing large-scale 3D projects, facilitating efficient collaboration, asset reuse, and pipeline efficiency, making it an indispensable part of any modern 3D production workflow.
Learn
asset structuring principles and content aggregation
with the free Learn OpenUSD self-paced curriculum.
Composition arcs
Composition arcs are the foundational operators of OpenUSD that combine smaller units of scene description into larger units. This enables robust asset structures and content aggregation in OpenUSD workflows.
This feature is one of the superpowers of OpenUSD, setting it apart from other 3D data formats and frameworks.
Figure 3. Composition arcs enable the creation of complex 3D objects such as autonomous mobile robots
Composition arcs are essential tools for non-destructively combining units of USD data. The composition arcs available in OpenUSD include sublayers, references, payloads, variant sets, inherits, specializes, and the most recent addition, relocates.
Start with the following composition arcs to gain an understanding how you can leverage them in your own workflows:
Sublayers:
Enable multiple collaborators or processes to operate on a given USD context. The data authored in a sublayer is added to a USD context in an “include” fashion.
References:
Most suited for content aggregation and can be used to graft one USD context onto the hierarchy of another USD context. By referencing assets, you can maintain a single source of truth for each component, ensuring consistency and reducing redundancy. This is particularly useful in large-scale projects where the same assets are used repeatedly.
Variant sets:
Used to store multiple variations of a component, enhancing adaptability without duplicating data. This feature enables you to create different versions of an asset, such as different materials or configurations, all within a single, efficient structure. Use cases include specifying different textures and materials or configurations of a model, such as describing a car featuring different paint colors or with different rim styles.
Figure 4. Composition of an OpenUSD scene
Learning and implementing composition arcs will provide immediate value to your USD workflows. However, achieving mastery can take years due to their extensive flexibility and diverse applications. To use OpenUSD effectively, we highly recommend investing significant time in experimentation and refining your understanding of composition arc types.
Learn to
create composition arcs
with the free Learn OpenUSD self-paced training.
Get started
OpenUSD offers a comprehensive set of features for efficient 3D asset management and content aggregation, making it an indispensable framework for large-scale projects. By mastering data exchange, asset structuring, and composition arcs, you can significantly improve collaboration, performance, and reusability in your 3D workflows.
Build on your foundational knowledge with courses on the
Learn OpenUSD learning path
.
Start developing with OpenUSD on the
Omniverse Kit SDK
and generative AI models for OpenUSD development through
USD NIM microservices
.
For more resources on OpenUSD, explore the
Alliance for OpenUSD (AOUSD) forum
and visit the
AOUSD
website.
如何使用 OpenUSD
通用场景描述（Universal Scene Description）
是开放、可扩展的框架和生态系统，具有用于在 3D 虚拟世界中合成、编辑、查询、渲染、协作和仿真的 API。
本文介绍了如何使用现有资产和工具立即开始使用 OpenUSD，以及可以采取哪些步骤以迭代方式提升 USD 工作流程的水平。
要以交互方式全面介绍 OpenUSD 的基本概念、词汇和最佳实践，请探索
NVIDIA Deep Learning Institute
提供的
免费 Learn OpenUSD 学习路径
。
数据交换
OpenUSD 不会取代您现有的工具或数据格式。顾名思义，Universal Scene Description 提供了一种常用方法来表示网格和 PBR 材质等许多 3D 概念的数据。它不断发展，以支持其他概念，例如 physics 和 B-reps。
图 1、OpenUSD 日益壮大的 DCC 应用生态系统
要开始将 OpenUSD 与您的现有素材结合使用，请使用导出工具或转换器将您的内容导入 USD。这一方法可确保快速有效地集成到新的 USD 工作流程中。通过这种方式使用 USD，您可以开始增强不同生产阶段的协作、性能和互操作性。
有关入门指南的更多信息，请参阅
支持 USD 交换的应用程序和工具列表
。
当您扩展 USD 工作流并希望将 OpenUSD 与专有数据结合使用时，您可能需要开发自己的数据交换解决方案。
数据交换流程管理从一种数据格式到另一种数据格式的内容提取、转换和提取。有几种主要类型的数据交换解决方案用于将现有内容集成到 USD 工作流中：
导入和导出工具：这些工具可在数字内容创建 (DCC) 应用中找到，使您能够直接向 USD 导入和导出 3D 素材。Rhino 和 Blender 等热门软件有助于导入 3D 素材，而 Houdini 等应用则将 3D 素材作为原生 USD 文件打开。这使得您可以在现有工具中轻松使用 USD。
转换器：
这些是独立的程序或脚本，旨在将不同格式的 3D 文件转换为 USD 格式或从 USD 格式转换为 3D 文件。它们为批量处理和自动化提供了灵活性，可确保您的资产可以轻松转换，而无需人工干预。
USD 文件格式插件
：通过这种类型的 USD 插件，您可以保留原始源格式的数据，同时在打开舞台时动态读取数据并将其转换为 USD。这意味着，您可以使用原生格式处理资产，同时仍能从 USD 的强大功能中受益，同时保持数据完整性和工作流程效率。
概念数据映射以及提取、转换、加载（ETL）是开发数据交换解决方案的关键流程，有助于确保无缝传输和集成 3D 资产和数据。
概念数据映射涉及定义一个系统或格式的数据与另一个系统或格式中的数据对应的方式
。在使用不同的 DCC 应用或文件类型时，这一点尤为重要，因为每个应用或文件类型都可能有自己独特的数据结构和表示形式。
ETL 是一个更全面的过程，用于将数据从一个系统迁移到另一个系统并进行集成。它由以下主要步骤组成：
提取：
从源系统或文件格式中提取数据。数据可以是 3D 模型、纹理、动画或任何其他相关内容。
转换
：转换提取的数据以满足目标运行时需求。这可能包括转换单位、重新格式化数据结构，或过滤掉无关紧要或私有数据。
加载：
将转换后的数据加载到目标运行时。
这有时称为 ingestion
，可确保数据可随时用于基于 USD 的工作流和应用。
概念数据映射和 ETL 流程对于确保内容可以有效准确地传输到 USD 生态系统，并在整个交换过程中保持其质量和功能至关重要。
OpenUSD Exchange SDK
有助于加速数据交换解决方案的开发，并有助于创作高质量的 OpenUSD 数据。
在将数据导入 OpenUSD 后，下一步是了解如何聚合和构建数据，以更大限度地提高效率。
了解如何通过免费的 Learn OpenUSD 自定进度课程
开发数据交换工作流
。
资产结构原则和内容聚合
结构良好的资产可实现有效的内容聚合和资产可重用性，这正是 OpenUSD 真正擅长的地方。在复杂的项目中，正确的素材结构和内容聚合是高效组织和合并 3D 素材和场景的关键方法。
开发素材结构需要将 3D 内容分解为更小、可管理的组件，以便于引用和重复使用。这样，您就可以创建一个层次化且井然有序的结构，简化资产的管理和维护。这种方法允许您在需要时仅加载必要的组件，从而提高可复用性和性能。
借助精心设计的资产结构，您可以增强协作，因为不同的工作流可以在不同的层中独立创作数据，然后将数据组合成单个资产。这种非破坏性编辑方法可确保一个团队所做的更改不会覆盖另一个团队的工作。
构建完较小的组件后，请使用内容聚合功能将其合并为一个连贯一致的场景。合成操作符 (例如 references 和 payloads) 支持此过程。
图 2
、
液化天然气运输船的数字孪生
(图片来源：HD Hyundai 和 Siemens)
这些技术有助于使 OpenUSD 成为管理大型 3D 项目的强大工具，促进高效协作、资产重复使用和工作流效率，使其成为任何现代 3D 生产工作流不可或缺的一部分。
通过免费的 Learn OpenUSD 自定进度课程，学习
资产结构化原则和内容聚合
。
合成操作符
合成操作符是 OpenUSD 的基础运算符，可将场景描述的较小单元组合成较大的单元。这可在 OpenUSD 工作流中实现稳健的资产结构和内容聚合。
此功能是 OpenUSD 的超能力之一，使其有别于其他 3D 数据格式和框架。
图 3、合成操作符支持创建复杂的 3D 对象，例如自动移动机器人
合成操作符是以非破坏性方式组合 USD 数据单位的必要工具。OpenUSD 中提供的合成操作符包括子层、引用、有效载荷、变体集、继承、专门化以及最近添加的重新定位。
从以下合成操作符开始，了解如何在自己的工作流程中利用它们：
子层
：支持多个协作者或进程在给定的 USD 环境中运行。子层中创作的数据以“include”方式添加到 USD 上下文中。
引用：最适合内容聚合，可用于将一个 USD 上下文移植到另一个 USD 上下文的层次结构中。通过引用资产，您可以为每个组件维护单一的事实来源，从而确保一致性并减少冗余。这在重复使用相同资产的大型项目中特别有用。
变体集
：用于存储组件的多个变体，在不复制数据的情况下增强适应性。此功能使您能够在单个高效结构中创建素材的不同版本，例如不同的材质或配置。用例包括指定模型的不同纹理、材质或配置，例如描述具有不同涂料颜色或不同轮缘风格的汽车。
图 4、OpenUSD 场景的合成
学习和实施合成操作符将为您的 USD 工作流提供即时价值。然而，由于其广泛的灵活性和多样化的应用，掌握可能需要数年时间。为了有效使用 OpenUSD，我们强烈建议您投入大量时间进行实验，并深入了解合成弧类型。
通过免费的 Learn OpenUSD 自定进度培训，学习
创建 composition arcs
。
开始使用
OpenUSD 为高效的 3D 资产管理和内容聚合提供了一整套功能，使其成为大型项目不可或缺的框架。通过掌握数据交换、资产结构化和合成操作符，您可以显著改善 3D 工作流中的协作、性能和可复用性。
通过学习 Learn OpenUSD 学习路径上的课程，在基础知识的基础上进行构建。
开始在
Omniverse Kit SDK
上使用 OpenUSD 进行开发，并使用生成式 AI 模型通过
USD NIM 微服务
进行 OpenUSD 开发。
有关 OpenUSD 的更多资源，请访问
Alliance for OpenUSD (
AOUSD
) 论坛
并访问 AOUSD 网站。