最近我研究了一些潜在的元宇宙开发平台。尽管Facebook上个月引发了关于元宇宙的最新一轮炒作,但另一家公司英伟达(Nvidia)在开发实际元宇宙平台方面走得更远。Nvidia的Omniverse自2019年以来一直在运行,因此在今天的帖子中,我将看看其开发工具包:Omniverse Kit。
正如我上周所指出的,Omniverse的主要目的是允许工程师通过共同处理产品的数字表示来协作构建产品。这是一个面向设计和制造公司的仿真和协作平台。
Omniverse Kit是开发人员为Omniverse创建应用程序的方式。 不过它只是整个开发平台的五个组件之一。其他四个部分是Nucleus,Connect,Simulation和RTXRenderer — RTX是Nvidia的高端专业视觉计算平台。后三个组成部分容易理解,但Nucleus需要一些解释。首先,这是架构图:
简单来说,Nucleus是Omniverse应用程序与之交互的一组服务。在Omniverse Kit的视频介绍中,Nvidia软件高级总监Damien Fagnou表示,Nucleus"代表了不同应用程序之间的协调点"。
1、开发技术栈
对于开发人员来说,Omniverse Kit 技术栈如下所示:
正如Fagnou在视频中指出的那样,"极端模块化"和扩展是Omniverse Kit的两个关键概念。为了解释,他展示了在使用Kit构建内部应用Omniverse Create时的运作机制。Create不是一个大型的单体应用程序,而是使用许多扩展(基本上是软件模块)构建的。
"它不是一个应用程序,而是由扩展组成的,"Fagnou说。"这些扩展被称为构建基块,你可以通过多种方式组装它们来创建不同类型的应用程序。在更高层次上,它们都是用Python编写的,以组装UI,工作流程和一般功能集。
2、建立在通用场景描述之上
所有Omniverse,包括Kit,都是建立在Pixar开源Universal Scene Description(USD)之上的。它既是一种文件格式,也是"使用API的强大场景表示"。
正如在另一个Nvidia视频中所解释的那样,Omniverse是第一个完全围绕USD构建的应用程序。"这不是一种导入导出格式,"英伟达软件开发总监Dirk Van Gelder说(在此之前,他是在Pixar工作23年的资深人士),"你正在处理的实际文档是USD本身。
示例是解释USD的最简单方法。在Van Gelder在视频中展示的一个场景中,他移动了一匹马。每次当马匹移动时,在USD中的值都会发生变化。
3、物理学和Python的作用
3D元宇宙平台的关键部分之一是它的"物理性",这意味着它模拟物理世界的运作方式。Nvidia有几个仿真SDK,其中之一是物理SDK PhysX。
PhysX的核心功能之一是角色控制器(CCT),“一种视频游戏风格的移动控制器,允许用户在一个世界中移动,而不能穿过支持物理碰撞的物体”(墙壁,其他人等)。
虽然开发人员可以轻松使用Omniverse Create这样的工具来添加和编辑CCT,但他们也可以通过Python脚本"调整"CCT行为 - 例如,文档指出,"你可以添加绑定和脚本以使CCT跳跃。
因此,如果Python开发人员想要从Web开发跳到元宇宙开发,他们可能会在竞争中占据优势。Nvidia最近的职位空缺表明了如果你是一个有兴趣沿着元宇宙路径前进的开发人员,需要做些什么。除了计算机科学学位外,最近Omniverse团队招聘启事的申请人还需要"强大的C++和Python技能"以及"对游戏等实时系统的深刻知识"。
4、微服务
最后,值得一提的是 Omniverse Kit 的微服务架构。在Nvidia高级软件工程经理Jozef van Eenbergen的视频中,他解释说微服务与Kit的扩展密切相关。
"服务可以是扩展的一部分,使用扩展或Kit执行的简单脚本,"他说。
如何在 Kit 中使用微服务的一个示例是生成缩略图图像。"通信通过http进行,内容浏览器指示一组服务按需生成缩略图,"van Eenbergen说。
5、结论
如你所见,Omniverse开发人员平台范围广泛,并且具有许多移动部件。但是,如果你是一个熟悉Python和/或C++的开发人员,并且对计算机图形学感兴趣,那么你的职业生涯转向元宇宙并不是一个很大的飞跃。
截至目前,Nividia的Omniverse似乎是开发人员进入3D网络的完美方式,正如我在开始时提到的,这是一个市场趋势。尽管Facebook也在招聘其新成立的"元宇宙产品组",但它还没有一个开发者平台。另一方面,Nvidia拥有一个功能齐全的元宇宙平台,该平台建立在Pixar成熟的开源技术之上。
事实上,也许Nvidia相比Facebook和其他平台的两到三年的领先优势将导致Omniverse成为开发人员通往元宇宙的主要门户。这还有待观察,因为Omniverse目前针对的是企业市场,但无论哪种方式,我都会鼓励感兴趣的开发人员查看Omniverse Kit。