首页 > 最新资讯 > 在元宇宙编程系列教程中学习 USD 知识
在元宇宙编程系列教程中学习 USD 知识

在元宇宙编程系列教程中学习 USD 知识

2022-12-26 13:40

#人工智能 #深度学习


在对程序化建模工具进行编程的同时,了解通用场景描述(USD)。

 

 

从开发电影视觉特效到构建大型的 3D 世界,通用场景描述(USD)正在迅速成为虚拟世界的标准。USD 不仅是一种文件格式,还是一个开放、可扩展的框架和生态系统,具有可用于在 3D 虚拟世界中合成、编辑、查询、渲染、协作和仿真的 API。NVIDIA 与其合作伙伴生态系统,正继续投资 USD,致力于将其发展成为 3D 互联网的通用语言和“元宇宙的 HTML”。

 

Omniverse 使用 USD 作为其原生场景描述。新加入 NVIDIA Omniverse 社区的开发者想要了解 USD 以及其作为虚拟世界语言的作用。

 

为了向开发者展示如何有效使用 USD API,Matias Codesal 开设了一个编程系列教程,以展示 USD 的实际应用。Matias Codesal 记录了自己开发程序化建模工具的过程,他将该工具称为 Bookshelf Generator(书架生成器)。这个系列展示了如何在 Omniverse 中创建这个作为扩展程序的工具并且使用 USD 进行建模和场景布局操作的全过程。

 

该编程系列教程由七个部分组成,将从头到尾告诉开发者如何使用 NVIDIA Omniverse 构建基于 USD 的程序化建模工具。

 

开发者将学到的内容

 

在该系列教程中,开发者将了解如何有效地利用集成开发环境(IDE)—Omniverse Code 开发 Omniverse 扩展程序。而后将探讨如何使用 Visual Studio Code 开发这个 Bookshelf Generator 扩展程序。

 

Matias Codesal 从事开发 Omniverse 扩展程序已有好几年了,其最初开发的两个扩展程序是 CityEngine PyPRT 和 Camera Reticle 扩展程序,从那时起,Matias Codesal 学到了很多关于 Omniverse 开发的知识。当开发者看到 Matias Codesal 在该系列中快速创建和迭代其想法时,就能发现他最喜欢 Omniverse Code 的一点在于,Omniverse Code 能够热重载其源代码并提供强大的 Python 支持。

 

该系列最适合具有 Python 背景的中高级开发者观看。但由于 Matias Codesal 在该系列中主要展示了其思考过程,因此初级开发者也可以从其展示的如何寻找答案和推理问题中进行学习。该系列主要不是用于详细介绍 USD 的所有功能。事实上,合成是 USD 的一个关键功能,但 Matias Codesal 在该项目中只使用了合成操作符中的引用符。

 

该项目涵盖了许多建模和场景创作概念。虽然其重点是使用 UsdGeomPointInstancer 实例化和排列书架上的书本,但开发者也能学到诸如 prim 算法、自定义属性、关系、边界框计算等概念。该项目完全利用 Python 编写,但对 USD 感兴趣的 C++ 开发者也可以通过该项目有所收获。

 

这部完整的教程分为七个部分:

 

使用 Kit Commands 来创建书柜的原始形状和材质。

缩放和转换构建书柜的书柜板。

引用书本资产并将其实例化,而后将其排列在书架上。

为书本添加随机比例并改进书柜资产结构。

改进 UV 缩放,并增加对于在一个阶段内制作多个书柜的支持。

更新多书柜制作的用户界面并支持自定义书本资产。

最终确定用户体验并修复剩余的 bug。

 

学习如何构建自定义 UI 工具和创建自定义物体。

 

 

开始学习

 
 

试用书架生成器

当前是开始学习通用场景描述的最佳时机。您可以下载 NVIDIA Omniverse Launcher 和 Omniverse Code,试用书架生成器。

详情请见:

https://www.nvidia.cn/omniverse/download/

https://developer.nvidia.cn/zh-cn/nvidia-omniverse-platform/code-app

阅读原文章

如果您想要按步骤学习,可阅读原文章,观看书架生成器播放列表,点播该系列的全部七个部分。

详情请见:

https://medium.com/@nvidiaomniverse/hit-the-usd-books-in-this-metaverse-coding-series-c1d7fb35194e

该项目的完整代码

该项目的完整代码位于此存储库。此存储库还包含在该系列每一部分结尾处标记代码状态的 Git 标签。

详情请见:

https://github.com/mati-nvidia/omni-bookshelf-generator

Omniverse 开发者资源中心

如需了解更多关于通用场景描述的信息,以及进一步了解 NVIDIA Omniverse 开发领域的信息,敬请访问 Omniverse 开发者资源中心。

详情请见:

https://developer.nvidia.cn/nvidia-omniverse-developer-resource-center

 

相关新闻