使用USD开发数字孪生项目?试试在NVIDIA Omniverse写代码

描述

Omniverse 是个啥?

Omniverse 是英伟达开发的一个用于3D设计协作和仿真的平台,综合应用了RTX、 皮克斯发明的USD格式(Universal Scene Description)、AI,采用的是模组化开发框架。开发人员可以插入 Omniverse 栈的平台层,开发自己的extension.

数据结构

Omniverse 界面

(图片源于NVIDIA)

上面提到的Omniverse 的3D设计协作和仿真,是指在Omniverse 平台内,三维工作人员之间使用不同软件,即使在异地也可在Omniverse平台内实时进行协作,不需要无尽的格式转换,上传下载等操作。

这得益于USD这种格式,皮克斯发明了USD,这是一种易于扩展的、开源的3D 场景文件格式,也是用于创建、表示和修改虚拟世界的一组数据结构和API,可以用来协同构建动画3D场景。很多软件和渲染器都已经支持USD。Omniverse 也已经能够支持很多软件在其平台上协同。

数据结构

与Omniverse 连接的软件

(图片源于NVIDIA官网)

除设计协同外,Omniverse 内置的应用程序还可以支持完成很多视觉和AI类的工作。比如速度快但效果也好的实时渲染,再比如数字人开发会使用到的AI驱动面部动画工具,逼真程度高的仿真工具等。

Omniverse开发能用来干啥?

Omniverse 目前已经在制造、建筑工程、影视动画等数字孪生的项目中开始使用。建筑工程行业则主要偏向协同、仿真,一些设计院,比如湖南省建筑设计院数字研究院等,已经开始对Omniverse二开,优化自家的设计工作流。影视动画领域里,开发数字人的热度很高,Omniverse 本身自带一些AI驱动功能,团队再在基础上开发一些插件,来满足实际项目使用。

数据结构

宝马数字工厂

Omniverse 平台降低了开发难度,采用模组化设计,非常灵活,借助基于 Python 的低代码和无代码开发模式,团队可以快速、高效且可持续地开展工作。另外,已经预置了超过300个extension,开发人员完全可以使用或者调整,用到自家的项目中。

Omniverse 开发怎么搞?有啥要求? 

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

开发人员现在可以在 Omniverse Kit 中创建自定义应用程序,并开发大型、复杂的应用程序。

数据结构

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

(图片源于NVIDIA)

从人员要求来看,Omniverse 支持python 和 C++。所以开发人员首先必须要有Python 或者C++基础。有了语言基础,还得对USD这种格式有基础了解,熟知它的逻辑,会事半功倍。当然,开发前也要Omniverse 平台本身比较熟悉,安装好Omniverse, 起码要了解它的基本应用和平台运行架构。(安装链接:https://www.nvidia.cn/omniverse/download/)

硬件装备上来说,Omniverse对显卡要求比较高,要有RTX的卡才行。如果要用于较大场景的开发的话,显卡显存建议选择16GB或以上。CPU推荐8核以上,内存建议32GB或以上。

Omniverse 开发相关课程已经免费开放,这里有整理好的基础开发学习资源包,不需要再各处寻寻觅觅。如果有针对性的问题,也可以进入社区来交流。

审核编辑 :李倩

 

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

全部0条评论

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

×
20
完善资料,
赚取积分