• 正文
  • 相关推荐
申请入驻 产业图谱

如何使用 OpenUSD

02/25 11:00
1228
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

通用场景描述(OpenUSD)是一个开放且可扩展的框架和生态系统,它通过 API 支持 3D 虚拟世界中的合成、编辑、查询、渲染、协作和仿真。

本文将介绍如何开始在现有资产和工具中使用 OpenUSD 以及可以采取哪些步骤不断改进 USD 工作流。

关于 OpenUSD 基本概念、词汇和最佳实践的交互式介绍,请浏览 NVIDIA 深度学习培训中心的免费 Learn OpenUSD 学习路径。

数据交换

OpenUSD 不会取代现有的工具或数据格式。顾名思义,通用场景描述为网格和 PBR 材质等诸多 3D 概念提供了一种通用的数据表示方式,并且其支持范围正在不断扩展到物理学、B-reps 等其他概念。

如要将 OpenUSD 用于现有资产,请先使用导出器或转换器将内容导入 USD。该方法可以将现有资产快速、有效地集成到新的 USD 工作流中,以便提升各个生产阶段的协作性、性能和互操作性。

有关如何开始使用 USD 的详细信息,参见支持 USD 交换的应用和工具列表。

如果想要扩展 USD 工作流并将 OpenUSD 用于专有数据,可能需要开发自己的数据交换解决方案。

您可通过数据交换管线管理从一种数据格式到另一种数据格式的内容提取、转换和摄入。如要将现有内容整合到 USD 工作流中,需要使用以下几种基本的数据交换解决方案:

导入器和导出器:可在数字内容创建(DCC)应用中找到这两种工具,使用它们直接将 3D 资产导入到 USD 或从 USD 中导出 3D 资产。Rhino、Blender 等常用软件可方便地导入 3D 资产,Houdini 等应用可将 3D 资产打开为原生 USD 文件,让用户能够更加简单地在现有工具中使用 USD。

转换器:用于将各种格式的 3D 文件转换为 USD 文件或从 USD 文件转换为 3D 文件的独立程序或脚本。此类工具依靠灵活的批量处理和自动化,无需人工干预即可轻松转换资产。

USD 文件格式插件:此类 USD 插件让用户能够以最初的源格式保存数据,同时在打开一个阶段时动态读取数据并将其转换为 USD 格式。这意味着用户既能够处理原生格式的资产,同时还能够受益于 USD 的强大功能并保持数据的完整性和工作流效率。

概念数据映射和提取、转换、加载(ETL)是开发数据交换解决方案的关键流程,有助于确保 3D 资产和数据的无缝传输与集成。

概念数据映射涉及定义一个系统或格式的数据如何与另一个系统或格式的数据相对应。由于每种应用或文件类型都可能有自己特有的数据结构和表示方法,因此这一点在处理不同的 DCC 应用或文件类型时尤为重要。

ETL 是一个将数据从一个系统移动并整合到另一个系统的完整流程。它包含以下主要步骤:

提取:从源系统或文件格式中提取数据。数据可以是 3D 模型、纹理、动画或任何其他相关内容。

转换:转换提取的数据,使其符合目标运行时的要求,包括转换单位、重新格式化数据结构或滤除无关数据或私人数据。

加载:将转换后的数据加载到目标运行时,使数据可直接用于基于 USD 的工作流和应用。该步骤有时被称为摄取。

概念数据映射和 ETL 流程对于将内容有效、准确传输到 USD 生态系统并在整个交换过程中保持其质量和功能至关重要。OpenUSD Exchange SDK 有助于加快数据交换解决方案的开发速度和编写高质量的 OpenUSD 数据。

在将数据导入 OpenUSD 后,下一步就是了解如何汇总和构建数据以实现最高效率。

用户可通过免费的 Learn OpenUSD 自学课程了解如何开发数据交换管线。

资产结构化原则和内容聚合

OpenUSD 的真正优势在于通过建立良好的资产结构实现有效的内容聚合和资产重用。建立良好的资产结构和内容聚合是在复杂项目中有效组织和组合 3D 资产与场景的关键。

在建立资产结构时,需要将 3D 内容分解成更小、更易于管理的组件,以便引用和重复使用。这样就可以创建一个层次分明的有序结构,简化资产的管理和维护。该方法只在需要时加载必要的组件,提高了可重用性和性能。

如果有良好的资产结构,就可以通过不同的工作流在不同图层中独立编写数据,然后将这些图层组合成一个资产。这种无损编辑方法可确保一个团队所做的更改不会覆盖另一个团队的工作,提高了团队之间的协作性。

在创建了较小的组件后,就可以使用内容聚合将它们组合成一个连贯的场景。引用、有效载荷等合成操作符支持这一过程。

合成操作(Composition arcs)

合成操作是 OpenUSD 的基础运算符,可将较小的场景描述单元组合成较大的单元,使 OpenUSD 工作流中的资产结构和内容聚合更加稳健。

该功能是使 OpenUSD 有别于其他 3D 数据格式和框架的“超能力”之一。

合成操作是无损组合 USD 数据单元的重要工具。OpenUSD 中的可用合成操作包括子图层、引用、有效载荷、变体集、继承、专门化以及最新添加的重定位。

可先通过以下合成操作了解如何在自己的工作流中使用这些合成操作:

子图层:使多个协作者或流程能够对给定的 USD 上下文进行操作。子图层中编写的数据以“包含”方式添加到 USD 上下文中。

引用:最适合用于内容聚合,可将一个 USD 上下文嫁接到另一个 USD 上下文的层次结构中。通过引用资产,您可以维护每个组件的单一基准真相来源,从而确保一致性并减少冗余。这在重复使用相同资产的大型项目中尤其有用。

变体集:用于存储一个组件的多个变体,可在不复制数据的情况下增强适应性。借助该功能,您只需要一个高效的结构,就可以创建一项资产的不同版本,例如不同的材质或配置。变体集的用例之一是为一个模型指定不同的纹理和材质或配置,例如描述一辆具有不同油漆颜色或不同轮辋样式的汽车。

学习和使用合成操作将为 USD 工作流带来立竿见影的效果。但由于其高度的灵活性和应用的多样性,可能需要数年时间才能掌握合成操作。想要有效使用OpenUSD,可以进行多种尝试并加深对合成操作类型的了解。

通过免费的 Learn OpenUSD 自学培训学习创建合成操作。

开始使用 OpenUSD

OpenUSD 提供了一套实现高效 3D 资产管理和内容聚合的完整功能,因此是大型项目不可或缺的框架。掌握了数据交换、资产结构化与合成操作,就可以显著提高 3D 工作流中的协作性、性能和可重用性。

通过 Learn OpenUSD 学习路径中的课程巩固基础知识。

https://www.nvidia.com/en-us/learn/learning-path/openusd/

在 Omniverse Kit SDK 上使用 OpenUSD 进行开发,并通过 USD NIM 微服务创建适用于 OpenUSD 开发的生成式 AI 模型。

https://build.nvidia.com/search?q=OpenUSD

有关 OpenUSD 的更多资源,请访问 OpenUSD 联盟(AOUSD)论坛和 AOUSD 网站。

https://forum.aousd.org/

英伟达

英伟达

NVIDIA(中国大陆译名:英伟达,港台译名:辉达),成立于1993年,是一家美国跨国科技公司,总部位于加利福尼亚州圣克拉拉市,由黄仁勋、克里斯·马拉科夫斯基(Chris Malachowsky)和柯蒂斯·普里姆(Curtis Priem)共同创立。公司早期专注于图形芯片设计业务,随着公司技术与业务发展,已成长为一家提供全栈计算的人工智能公司,致力于开发CPU、DPU、GPU和AI软件,为建筑工程、金融服务、科学研究、制造业、汽车等领域的计算解决方案提供支持。美国GPU及AI计算巨头,传感器技术应用于自动驾驶及机器人领域。

NVIDIA(中国大陆译名:英伟达,港台译名:辉达),成立于1993年,是一家美国跨国科技公司,总部位于加利福尼亚州圣克拉拉市,由黄仁勋、克里斯·马拉科夫斯基(Chris Malachowsky)和柯蒂斯·普里姆(Curtis Priem)共同创立。公司早期专注于图形芯片设计业务,随着公司技术与业务发展,已成长为一家提供全栈计算的人工智能公司,致力于开发CPU、DPU、GPU和AI软件,为建筑工程、金融服务、科学研究、制造业、汽车等领域的计算解决方案提供支持。美国GPU及AI计算巨头,传感器技术应用于自动驾驶及机器人领域。收起

查看更多

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录

自1993年成立以来,NVIDIA一直在视觉计算的艺术与科学发展中勇当先锋. NVIDIA公司的诸多技术正在彻底改变显示世界的面貌,在高级渲染、高性能计算,乃至远端云服务,你都将看到NVIDIA的身影.