如何使用Omniverse Kit开发元宇宙

最近我研究了一些潜在的元宇宙开发平台。尽管Facebook上个月引发了关于元宇宙的最新一轮炒作,但另一家公司英伟达(Nvidia)在开发实际元宇宙平台方面走得更远。Nvidia的Omniverse自2019年以来一直在运行,因此在今天的帖子中,我将看看其开发工具包:Omniverse Kit。

正如我上周所指出的,Omniverse的主要目的是允许工程师通过共同处理产品的数字表示来协作构建产品。这是一个面向设计和制造公司的仿真和协作平台。

Omniverse Kit是开发人员为Omniverse创建应用程序的方式。 不过它只是整个开发平台的五个组件之一。其他四个部分是Nucleus,Connect,Simulation和RTXRenderer — RTX是Nvidia的高端专业视觉计算平台。后三个组成部分容易理解,但Nucleus需要一些解释。首先,这是架构图:

image.png

简单来说,Nucleus是Omniverse应用程序与之交互的一组服务。在Omniverse Kit的视频介绍中,Nvidia软件高级总监Damien Fagnou表示,Nucleus"代表了不同应用程序之间的协调点"。

1、开发技术栈

对于开发人员来说,Omniverse Kit 技术栈如下所示:

image.png

正如Fagnou在视频中指出的那样,"极端模块化"和扩展是Omniverse Kit的两个关键概念。为了解释,他展示了在使用Kit构建内部应用Omniverse Create时的运作机制。Create不是一个大型的单体应用程序,而是使用许多扩展(基本上是软件模块)构建的。

"它不是一个应用程序,而是由扩展组成的,"Fagnou说。"这些扩展被称为构建基块,你可以通过多种方式组装它们来创建不同类型的应用程序。在更高层次上,它们都是用Python编写的,以组装UI,工作流程和一般功能集。

image.png

2、建立在通用场景描述之上

所有Omniverse,包括Kit,都是建立在Pixar开源Universal Scene Description(USD)之上的。它既是一种文件格式,也是"使用API的强大场景表示"。

正如在另一个Nvidia视频中所解释的那样,Omniverse是第一个完全围绕USD构建的应用程序。"这不是一种导入导出格式,"英伟达软件开发总监Dirk Van Gelder说(在此之前,他是在Pixar工作23年的资深人士),"你正在处理的实际文档是USD本身。

示例是解释USD的最简单方法。在Van Gelder在视频中展示的一个场景中,他移动了一匹马。每次当马匹移动时,在USD中的值都会发生变化。

image.png

3、物理学和Python的作用

3D元宇宙平台的关键部分之一是它的"物理性",这意味着它模拟物理世界的运作方式。Nvidia有几个仿真SDK,其中之一是物理SDK PhysX。

image.png

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说。

image.png

5、结论

如你所见,Omniverse开发人员平台范围广泛,并且具有许多移动部件。但是,如果你是一个熟悉Python和/或C++的开发人员,并且对计算机图形学感兴趣,那么你的职业生涯转向元宇宙并不是一个很大的飞跃。

截至目前,Nividia的Omniverse似乎是开发人员进入3D网络的完美方式,正如我在开始时提到的,这是一个市场趋势。尽管Facebook也在招聘其新成立的"元宇宙产品组",但它还没有一个开发者平台。另一方面,Nvidia拥有一个功能齐全的元宇宙平台,该平台建立在Pixar成熟的开源技术之上。

事实上,也许Nvidia相比Facebook和其他平台的两到三年的领先优势将导致Omniverse成为开发人员通往元宇宙的主要门户。这还有待观察,因为Omniverse目前针对的是企业市场,但无论哪种方式,我都会鼓励感兴趣的开发人员查看Omniverse Kit。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/151783.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vscode中Chinese (Simplified)汉化无效解决方法

问题复现 之前已经下载了 Chinese (Simplified)插件并启用了,都是正常的中文简体。有时候打开vscode的时候,会发现汉化失效了,如图: 解决方法 依次点击 扩展(Extensions)— Chinese (Simplified) — 选…

SpringBoot使用DevTools实现后端热部署

📑前言 本文主要SpringBoot通过DevTools实现热部署的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句&…

WorkPlus移动数字化平台,助力企业全面掌控业务和生态

在移动化的时代,企业面临着将业务和生态纳入数字化平台的挑战。WorkPlus作为一款安全专属的移动数字化平台,成为企业业务和生态全面掌控的有力助手。它如同一艘强大的“航空母舰”,助力企业实现全面发展,从业务到生态,…

Linux安装Docker完整教程

Linux安装Docker完整教程 1.卸载旧版本的Docker(可选)2.安装Docker(1)yun安装(2)离线安装 3.启动Docker4.配置镜像加速5.Docker拉取镜像命令 参考链接 https://blog.csdn.net/m0_59196543/article/details/…

9.基于SpringBoot3+MybatisPlus定制化代码生成器类

我们在3.基于SpringBoot3集成MybatisPlus中讲到自定义代码生成器,但是往往遗留代码生成的类格式或者命名不符合要求,需要手工修改,但是当表很多时就比较头痛,所以我们自定义模板在进行代码生成 1. 新建MyTemplateEngine.java类 里面大多实现…

小型心仪什么牌子好又便宜?迷你洗衣机品牌推荐

相信不少人群为了方便清洗衣服,都会直接选择了大型的洗衣机。由于家里住的人多,所以对洗衣机的使用还是比较频繁,但内衣裤和其它衣服混合在一起清洗的话,或许大多数人都不太会接受的了,所以都是选择自己手工洗的&#…

【uniapp/uview1.x】u-upload 在 v-for 中的使用时, before-upload 如何传参

引入: 是这样一种情况,在接口获取数据之后,是一个数组列表,循环展示后,需要在每条数据中都要有图片上传,互不干扰。 分析: uview 官网中有说明,before-upload 是不加括号的&#xff…

springboot服务和python服务如何自定义启动banner

shigen日更文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 shigen最近在修改ruoyi的框架,看到了框架自带的banner图,就是一个不爽,于是…

AI大模型低成本快速定制法宝:RAG和向量数据库

文章目录 1. 前言2. RAG和向量数据库3. 论坛日程4. 购票方式 1. 前言 当今人工智能领域,最受关注的毋庸置疑是大模型。然而,高昂的训练成本、漫长的训练时间等都成为了制约大多数企业入局大模型的关键瓶颈。 这种背景下,向量数据库凭借其独特…

3.5 Windows驱动开发:应用层与内核层内存映射

在上一篇博文《内核通过PEB得到进程参数》中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用层与内核层需要共享一片内存…

freertos源码下载和目录结构分析

1、源码下载 下载网址:https://www.freertos.org/zh-cn-cmn-s/; 2、源码目录结构 3、关键的代码文件

全国行政区划2023年最新版

全国行政区划包含以下字段,行政区划第五级,省、市、县、乡镇、村。文章末尾已整理成sql文件。 父级行政代码,行政代码,邮政编码,区号,名称,简称,组合名,拼音,经度,纬度, 获取方式 关键词“行政区划”获取文件。 免费获取行政区划

我们常说的网络资产,具体是如何定义的?

文章目录 什么叫网络资产?官方定义的网络资产网络资产数字化定义推荐阅读 什么叫网络资产? 通过百度查询搜索什么叫网络资产?大体上都将网络资产归类为计算机网络中的各类设备。 基本上会定义网络传输通信架构中用到的主机、网络设备、防火…

通过注释来埋点

目录 开始 插件编写 功能一 功能二 功能三 合并功能 运行代码 总结 这篇文章主要讲如何根据注释,通过babel插件自动地,给相应函数插入埋点代码,在实现埋点逻辑和业务逻辑分离的基础上,配置更加灵活 这篇文章想要达到的效…

010.cat、find

1、用cat进行拼接 cat命令能够显示或拼接文件内容,不过它的能力远不止如此。比如说,cat能够将标准输入数据与文件数据组合在一起。通常的做法是将stdin重定向到一个文件,然后再合并两个文件。而cat命令一次就能搞定这些操作。 用cat读取文件…

Go fsnotify简介

fsnotify是一个用Go编写的文件系统通知库。它提供了一种观察文件系统变化的机制,例如文件的创建、修改、删除、重命名和权限修改。它使用特定平台的事件通知API,例如Linux上的inotify,macOS上的FSEvents,以及Windows上的ReadDirec…

中小企业如何最大程度地利用CRM系统的潜力?

在当今竞争激烈的商业世界中,客户关系管理(CRM)数字化转型已经成为大企业成功的重要秘诀。大型跨国公司如亚马逊、苹果和微软等已经在CRM数字化方面走在了前列,实现了高度个性化的客户体验,加强了客户忠诚度。 然而&a…

手把手云开发一个小程序-(二)-uniclould的购买和默认库的使用

一,前言 因为平时喜欢记录一些文案,看小说或者上网冲浪的时候,遇到拍案叫绝的文字,就会截图保存下来,但是时间久了,手机里截图保留了很多,却不会再去看,想删除又舍不得,于是就想着自己开发个文案记录的小程序.自用的同时让有同样需求的人也能用. 目前已经把第一个版本开发完了…

【教3妹学编程-算法题】最长奇偶子数组

3妹:2哥,你有没有看到新闻, 网红快乐小赵去世了。 2哥 :啊? 这么突然 3妹:是啊, 伤心,以前还特别喜欢他的作品,幽默搞笑。 2哥:哎,人有悲欢离合, …

Open3D 进阶(17)间接平差拟合二维直线

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。 一、算法原理 见:PCL 间接平差法拟合二维直线。 二、代码实现 import numpy as np import open3d as o3d import matplotlib.pyplot as plt