01NVIDIA Omniverse体验
产品:GeForce RTX 3090显卡 NVIDIA 显卡在GTC 2021开发者大会中,NVIDIA创始人兼首席执行官黄仁勋,反复提及了一款软件平台——Omniverse。在长达1小时30分钟的演讲中,甚至以Omniverse开场,以Omniverse结尾,通过视频中演示的效果来看,它类似于MAYA、3DMAX、UE4等三维软件。
Marbles
所以Omniverse到底有何神奇之处,笔者出于好奇也研究了一番,这款软件尚处于测试阶段,功能不是十分完善,但展现出的功能却十分强大。首先它可以实现多种软件协同工作,并在Omniverse中实时显示最终效果;另外只需要一张RTX显卡,即可实现三维软件中的实时光线追踪预览。
不过目前测试版的软件互链相当繁琐,笔者也是踩了很多坑,下面就把一整套的操作流程和易出问题的地方进行简单说明,最后看一看Omniverse究竟有多神奇。
01 注册安装
首先到NVIDIA官网中下载Omniverse的公测版:点击进入
点击下载后会先要求注册,这里分为【工作上使用】、【个人游戏或娱乐使用】、【个人和工作上都会使用】,目前的区别并不大,但选择有工作使用时,可填写行业及公司信息,方便日后为企业及时提供最新消息,最简单的还是个人使用。
Omniverse平台本身不大仅有70MB,共有库路径、数据路径、缓存路径 3个文件夹可调整位置,但建议默认,因为目前Omniverse中的文件名尚不支持中文,全部为问号,更改路径有可能造成软件错误。
打开Omniverse平台,选择【EXCHANGE】选项卡,安装【OMNIVERSE CREATE】,这个软件是我们所有操作的基础,软件共741M左右,无法更改安装路径。
后续由于笔者要链接MAYA软件,所以在CONNECTORS插件一栏中,安装了MAYA的链接插件。目前主要支持3D、MAYA、UE4、犀牛等三维软件,后续根据NVIDIA官网显示还会支持Blender、Photoshop、Marvelous Designer等各行各业的创作软件。
安装好后直接进入OMNIVERSE CREATE即可,初次进入较慢还请耐心等待。这里笔者打开一个预设模型组,就是黄仁勋在RTX 30系发布会演示的Marbles。笔者使用的是GeForce RTX 3090显卡+32GB内存,整个场景加载完约为2分钟,可以看到未加载完的模型还没有材质贴图。
OMNIVERSE CREATE的操作界面和操作方式与其他三维软件类似,下方为内容浏览,右侧为大纲和总层之类的选项卡,可以说整体界面非常清爽,毕竟OMNIVERSE CREATE的主要作用不是创作而是协同和预览,但后续的版本也可能会增加更多模块。
02 实时光线追踪渲染
下面我们来看看Omniverse的第一个强大之处,就是实时光线追踪渲染,要知道目前在任何三维软件中,都无法像它一样高质且迅速。
我们先来看Omniverse的几种预览模式,默认情况下为基础的实时显示,包含模型、材质、光照等信息,但在移动物体时没有光线追踪。
第二种显示模式为实时光线追踪,在打开后我们能对比出两幅图明显的全局光照变化,在此模式下,每当用户转动视角或移动模型时,软件都会进行实时的光追计算。
下面还有几种模式,如白模模式、线框模式、带凹凸细节的模式,并且之间可以相互组合。当然除了几种预览模式外,在操作界面还有选择不同视图、网格设置、帧率设置等设定,也都比较简单易懂。
另外在Omniverse中,还可以进行简单的模型创建,材质赋予等操作。如上图笔者将玻璃材质给了瓶子,便可直接显示重新赋予材质的样子,不用复杂的渲染,一切都是实时显示。
在Omniverse中,不同材质的真实度也非常惊人,我们选择Marbles的另一角,这里有木质材质、金属材质、哑光金属材质等效果。在右上角能看到实时渲染所耗费的时间,GeForce RTX 3090不愧为创作者首选,渲染仅需1.28s。而同一个Marbles模型使用GeForce RTX 3080的渲染时间为3s左右。
03 链接三维软件
基础的软件效果大致了解后,我们再来看看如何链接其他三维软件,笔者比较熟悉MAYA,便以它为例。
这里需要强调一下,目前Omniverse支持链接MAYA的版本为2019和2020,第一次链接的时候没有成功,我以为是因为MAYA版本太老旧,所以删掉2019安装了2022,但发现MAYA 2022无法识别Omniverse的插件,自然无法链接。
当重新装回MAYA 2019后居然链接成功,或许是因为部分插件不兼容导致,所以也建议大家如果链接或导出USD失败后,可完全卸载MAYA再重新安装。
在MAYA中加载【OmniverseMayaLoader.mll】插件
回到上面我们安装完MAYA插件的步骤,当进入MAYA后,我们在插件管理器中找到【OmniverseMayaLoader.mll】插件,将已加载和自动加载勾选后关闭即可。
这时候在最上方的菜单栏Arnold渲染器右侧会多出Omniverse的下拉菜单,并且在快捷工具栏中也会出现Omniverse的选项卡。注意目前最左侧的人物头像为红色,即未登录状态,此状态下只有打开、导入、导出USD文件的操作。
点击红色图标后,会出现Sign In窗口,软件默认为【localhost:3009】,千万不要改动,这里相当于服务器地址。第一次笔者以为这里登陆的是我们下载Omniverse软件时注册的账户,但更改地址后点击Sign In会无响应。
使用【localhost:3009】地址点击Sign In后,会跳转到登陆Omniverse的界面,再输入注册时候的账号密码,如上图显示即登陆成功。
当第一次操作成功后,以后再进入MAYA,直接点击红色头像,再点击Sign In即可直接登录,没有了后面的跳转步骤。需要注意的是,如果我们后续需要在Omniverse中协同操作,这个头像必须处于绿色的状态。
另外大家都知道MAYA直接导出的文件后缀为.mb格式,是无法在Omniverse中打开的,需要将场景通过Omniverse插件导出USD格式才可以,而导出的位置一定要在图中的【localhost】→【Projects】目录下才可以。
导出后,我们在两个软件中都打开刚刚导出的USD格式场景,但现在仍无法进行协同操作。首先在MAYA中,我们需要打开同步开关。
另外一端在Omniverse中,我们找到总层右侧的云选项,选择【Always On】,这时图标会变成绿色,即链接成功。注意上述步骤错一步都不会成功,并且每款软件链接的方式都不同,还需要大家自行研究一下。
在整个流程中,笔者只链接了MAYA一款软件,但Omniverse真正的强大之处在于可以同时链接多款软件(也支持链接一种软件多台电脑),打通各个三维软件,构建开放式创作和共享平台。所以,什么才是Omniverse的根本呢?
04 Omniverse上的USD
以往我们三维软件之间最大的“隔阂”就是模型、材质等流程不同,数据不互通。而Omniverse则可以打通这些“隔阂”,让他们的创作者可以共同进行创作。
USD即皮克斯的Universal Scene Description,它是DCC中传递场景描述信息的文件格式,其API支持复杂属性、分层、延迟加载、多种其他关键功能。用于协同创作,处理大型3D场景,可以很好的处理3D资产,让更多创作者可以在同一场景中工作。
提起USD,最早皮克斯还有想法,基于USD格式创建一款三维软件,但发现在使用MAYA、3D等软件已经在特定领域有着足够高的效率,并且从业人数众多。所以皮克斯的目标则是让USD开源,让不同软件之间搭起一个沟通转换的桥梁。
但USD仅仅是基础,NVIDIA的Omniverse则是以USD为核心,提供了多用户同步协作的功能,不再局限于一间工作室,甚至全球各地的内容创作者均可以进行协同工作,实时在Omniverse上呈现最终效果(妥妥的老板监工神器)。不过目前这款平台尚处于测试阶段,功能不太完善,稳定性也不太尽如人意,笔者在使用MAYA的时候偶尔会有崩溃情况发生。
05 Omniverse能干什么
对于Omniverse的作用,小项目之间并不太明显,因为总的数据量并不算庞大,一台机器或者几台机器完全可以执行,但在大项目上它的作用就凸显出来了。
正如在GTC 2021大会中,宝马汽车生产厂商向我们展示的虚拟汽车生产工厂,即数字孪生。而数字孪生这个概念,简单来说,就是在一个设备或系统的基础上,创造一个数字版的真实“克隆体”。
相比于设计图纸或虚拟模型,数字孪生的最大的特点在于:它是对本体的动态仿真。也就是说,数字孪生体是会“动”的。
并且数字孪生不是乱动,它“动”的依据,来自本体的物理设计模型,还有本体上面传感器反馈的数据,以及本体运行的历史数据。
如果本体的运行或系统状态需要改动,或者想要知道系统在特殊外部条件下的反应,工程师们可以在孪生体上进行“实验”。这样一来,可以极大节省成本和提高效率。
正如宝马的虚拟工场,它基于本体克隆而来,其中包含了大量细节,甚至在同一时间可以模拟300辆汽车,每辆汽车的数据大小就有10GB左右。
Omniverse的最大特点就是让所有细分数据,依然在每个创作者的电脑中进行,而整个项目工程中实现数据打通,根据宝马汽车管委会的声明显示,基于Omniverse平台的生产效率比以往高30%。
尽管目前支持链接Omniverse的三维软件不多,但目前该平台也仅是公测版,后续会有更多创作者可以实现共同协作,也相信后续会有更多大型项目来使用Omniverse平台实现数字孪生。