在 Omniverse Kit 104 中使用 C++ 和 Python 创建自定义元宇宙应用

描述

英伟达

 

近日,NVIDIA 推出 Omniverse Kit 104 更新。此次更新让开发者能使用 C++ 和 Python,更轻松地创建、打包并发布元宇宙应用。借助扩展后的工具包、更高的灵活性以及易于使用的模板,不同经验水平的开发者都能构建用于加速特定行业工作流的元宇宙应用和扩展程序。

 

Omniverse Kit 是一个软件开发平台。该平台包含了各种用于构建元宇宙应用、扩展程序和微服务的功能和构件 ,并且这些功能和构件正在不断增加。Omniverse Kit 104 针对关键的开发者工具和扩展程序发布了以下更新:

 

  • 除了现有的 Python 模板外,还开放了带有模板和实例的 C++ 扩展程序开发功能

     

  • 一个可助力用户轻松创建自定义应用的新应用模板

     

  • 具有先进、开放工作流的 Viewport 2.0

     

  • 为 Omni.UI.Menu 中的用户界面带来新的导航可能性

     

  • 能够在操作中封装扩展功能

     

  • 通过一个集中式 API 和 UI 来管理热键

     

  • 经过改进的新文档

 

NVIDIA Omniverse 的所有核心应用均基于 Omniverse Kit 而构建,包括 CreateViewIsaac SimDRIVE SimFarm。这些应用均基于软件堆栈建立,具有丰富的、可共享的扩展程序供用户使用,例如 Omniverse Create 中包含 300 多个扩展程序,其中甚至还包括了扩展程序管理器!这意味着用户构建扩展程序的方式与 NVIDIA 构建 Omniverse 功能的方式是相同的。

 

英伟达

NVIDIA Omniverse Kit Stack 包含 RTX、PhysX、Omnigraph 和 USD 以及许多自定义扩展程序。

 

Omniverse Kit 的运行时通过 RTX、PhysX、Omnigraph 和 USD 等组件驱动 Omniverse 模拟和运行。许多扩展程序可以独立于运行时进行运行,也有许多扩展程序结合了 UI 和运行时,通过利用内核的力量,可以在应用上创建加速扩展程序。

 

开放带有模板和实例的 C++ 扩展程序

 

Kit 104 支持一套新的扩展程序模板,可供 C++ 开发者使用 C++ 插件创建扩展程序。这些扩展程序模板保存在 GitHub 中,包含各种扩展示例。用户可将这些示例可作为开发 UI 小工具 、USD 交互等内容的参考,无需从头开始创建扩展程序,便能够加速应用开发进程。

 

该扩展程序模板展示了如何:

 

  • 创建一个将在启动时加载的 C++ 插件

     

  • 为 omni.graph 创建一个 C++ 节点

     

  • 为 omni.ui 创建有属性的 C++ 小工具,并且绘制一个简单矩形框

     

  • 创建一个可以修改当前 USD 阶段的 C++ 插件

 

另外,许多新的 Python 模板已在 GitHub 中公开提供,包括创建 UI 场景和创建几何图形和命令等示例。

 

使用 Omniverse Kit 应用模板轻松创建应用

 

英伟达

 

用户现在可以在 Omniverse Kit 中创建自定义应用程序,并开发大型、复杂的应用程序,如 Omniverse Create 和 Omniverse View。用户可以借助新的应用模板,利用 Omniverse 平台的技术支持,如 RTX、PhysX、Nucleus、OmniGraph 和 USD 等,更轻松地创建自己的应用。

 

该模板是一个起点,并附有一句简单的“hello world”示例,展示了使用 Omniverse Kit 来开发应用的简便性。该模板还包含两个更高级的应用,以展示如何使用 Omniverse 中的众多扩展程序来构建功能丰富的应用。

 

使用 Viewport 2.0 实现高级、开放的工作流

 

Viewport 2.0 专门用于为 Python 开发者实现更加高级的开放式工作流。Create 2022.3 将利用 Viewport 2.0 的特点和功能提供第二个视窗,可赋能创作者在其设计环境中以更多元化的视角进行交互。

 

NVIDIA 对视窗进行了重新设计并加入了新的扩展程序,包括:

 

  • 默认视窗运行

     

  • 视窗菜单系统(omni.ki.viewport.menubar)

     

  • 模块化视窗操控器系统 (omni.kit.viewport.manipulator)

     

  • 实用功能和传统视窗的兼容(omni.kit.viewport.utility)

 

通过 Omni.ui.Menu 创建

具有更多选项的灵活菜单

 

Omni.ui.Menu 在 Kit 104 中进行了改造,为导航页面和用户界面带来了新的可能性,其新特征包括:

 

  • 对 ui.MenuItem 外观的完全控制(ui.MenuDelegate)

     

  • 可创建易用的程序性菜单(ui.Menu.build_fn)

     

  • 轻松进行单选菜单行为(ui.MenuCollection)

     

  • 在 Python 中重现委托绘制的 ui.MenuItem

 

英伟达

使用自定义小工具和静态窗口拆移功能 ,尝试新的菜单外观。

 

调用和执行操作

 

Kit 104 可将扩展程序功能封装在易于调用的操作中。用户可以编辑这些操作并且在 C++ 和 Python 中使用。操作窗口包含了所有可用的操作,用户使用扩展程序创建、注册和执行相关操作。

 

用于热键的集中式 API 和 UI

 

Kit 104 引入了一个集中式 API 和 UI 来创建和管理热键。热键通过操作进行启用并且可以:

 

  • 通过任意扩展程序创建或注册

     

  • 与操作相关

     

  • 由用户覆写和管理

     

  • 热键绑定可以“专属”于一个窗口

     

  • 在热键窗口中轻松找到

 

经过改进的全新文档

 

NVIDIA Omniverse 文档经过更新后加入了用户友好型的导航功能,因此在构建应用程序时,用户可以轻松找到其所需的答案。以下是对文档进行的一些主要改进:

 

  • 更新了 HTML,因此构建系统为不同的类生成了增强的索引,同时还有一个涵盖所有文档的核心索引

     

  •  一个新的文档生成器,用户可以通过编写 markdown 文件轻松建立文档。这些文件可以在应用程序中交互使用,也可以导出为传统的 HTML 在网络浏览器中使用

     

  • 该文档现在还包含关于风格的资源以及每个小工具的风格属性列表

 

使用 Omniverse Kit 构建新的扩展程序

 

Omniverse 应用的最新版本可以说是了解 Kit 功能的胜地。今年,Omniverse Create 已经推出了 300 多个用 Kit 构建的扩展程序。

 

  • Action Graph 是 Create 中 Omnigraph 的一个扩展程序,是 Kit 中的一个令人期待的新示例。Action Graph 使用户可以通过可视化编程,在场景内创建事件驱动的行为和逻辑。Kit 还通过新的 GraphEditor.Core 扩展程序构建了经过改进的 Omni.ui.Graph 扩展程序,使用户更易于开发基于图形的扩展或应用程序

     

  • Omni.ui 中有一个名为 Omni.ui.scene 的新框架,用户可以利用该框架直接在视窗或 3D 环境中为小工具和操控器构建可交互 UI。用户可通过该扩展程序在 3D 投影场景中创建形状,并通过手势系统轻松进行操控

     

  • Deep Search 窗口是一个用 Kit 构建的扩展程序,利用该扩展程序可以在 Omniverse Nucleus 的资产数据库中进行基于 AI 的自然语言查询,以检索图像、物体或其他资产。用户可以将这些资产拖放到其构建的场景中

     

英伟达

 

NVIDIA 最近还推出了带有 USD 和 Nucleus 的新一代实时协作式工作流——Omniverse Live。建立在 Kit 基础上的同步层比以往加载速度更快,可赋能分布多地的多个用户开展实时协作,进行场景修改。实时模式可与任何 Omniverse 应用或连接器一起使用,助力创作者在无缝、低损的工作流中进行合作。

 

开发者担任“引路人”

 

许多开发者正在 Omniverse Kit 中构建能够优化和改进 3D 工作流的实用扩展程序和连接器。在做好广泛应用的准备后,开发者合作伙伴和社区成员可以通过 new self-publishing portal 在 Omniverse Exchange 中发布应用、连接器和扩展程序。

 

最新发布的一些扩展程序和连接器包括:

 

  • Reallusion iClone 8.1.0 实时同步连接器 ,用于 Omniverse 应用和 iClone 8 之间的无缝互动

     

  • OTOY OctaneRender hydra render delegate,使 Omniverse 用户可以在 Omniverse Create 或 View 视窗中直接使用 OctaneRender

     

  • Nextspace digital twin platform 扩展程序,用于数据和几何形状的规范化以推动 AI、分析和模拟的使用

     

  • SmartCow’s Omniverse 扩展程序,为 AI 车牌识别领域生成大规模车牌数据集的合成数据

 

近日,NVIDIA 首届 Omniverse 开发者比赛落下帷幕。本届比赛中,Omniverse 社区用户提交了使用 Omniverse Code 和 Omniverse Kit 开发的大量创新的扩展程序。您可以阅读相关文章 ,获得开发 Omniverse 扩展程序的灵感。

 

点击“阅读原文”,了解更多关于 NVIDIA Omniverse 的信息并免费试用。

 

 

推荐阅读

 

实现并超越元宇宙:探索 Omniverse 比赛决赛选手为 3D 世界打造的工具

 

 

英伟达  

 

即刻扫描下方海报二维码收下这份 GTC22 精选演讲合集清单,在NVIDIA on-Demand 上点播观看主题演讲精选、中国精选、元宇宙应用领域与全球各行业及领域的最新成果!    


原文标题:在 Omniverse Kit 104 中使用 C++ 和 Python 创建自定义元宇宙应用

文章出处:【微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分