致力于数字孪生体技术的研究与发展
通过解决方案和工程化应用造福人类
前段时间Pixar、Adobe、Apple、AutoDesk、Nvidia几家联合成了一个OpenUSD的联盟,致力于通过OpenUSD来促进3D内容的互操作,而英伟达更是将OpenUSD视作未来Metaverse中的HTML,并从底层基于OpenUSD构建了数字孪生工具平台Omniverse。除此之外,Cesium、Epic Games以及Unity也作为了一般会员加入到该组织中。
OpenUSD是Pixar 2016年7月26日开源一种用于通用场景描述(Universal Scene Description)格式或者说是软件,因为他也包含了一系列的API,该技术最早是应用于影视制作领域各种数字内容创建工具之间的3D图形内容的交换。
早期的内容生产流程是需要串行跨各种软件来完成不同阶段的工作,而在这个过程中就会设计到各种格式的数据转换兼容以及工作的协同问题,而OpenUSD的思路则是将数据放在中心位置,所有内容创作软件都与USD相连和兼容,从而就避免了数据转换而且同时能够保证各个专业的人员可以并行的进行工作相互之间互不影响。
针对USD总结下来主要有四个方面的特色优势:稀疏无损的场景聚合、可扩展的数据模型、文件系统无关、可用于自定义渲染器的通用渲染管线;
1.稀疏无损的场景聚合,USD主要是通过Composition arcs来实现多个图层的装配从而实现场景的无损聚合,Composition arcs相当于是图层组合过程中的操作符号(operators),主要包含六种类型:sublayers, inherits, variant sets, references, payloads, and specializes,在所有的arc类型中,强势的图层会覆盖弱势的图层。
比如在references类型下,USD还可以实现类似于面向对象的功能,就是可以进行对象的引用,并进行相应的继承以及覆盖,从而创建新的类型。
2.可扩展的数据模型,其实就是可以通过IsA以及API两种模式进行新的类型的定义和扩展,NVIDIA 与 Pixar 和 Apple 合作创建刚体物的Schema。
3.文件系统无关,USD 完全与文件系统无关,数据不依赖于文件系统或任何其他持久存储。
4、可用于自定义渲染器的通用渲染管线(Hydra),Hydra是一个开源框架,用于将实时场景图数据传输到渲染器,针对处理大型场景和“更改处理”(即响应场景输入的创作或随时间变化的更改)进行了优化,它具有三个主要组件:场景委托(提供场景数据)、渲染索引(负责更改跟踪和其他场景管理)和渲染委托(使用场景数据来生成图像)。
从上面的四点可以看出,OpenUSD具备3D化、通用、灵活的特点,这也很大程度上符合了Nvidia对未来元宇宙的设想,未来的网络连接的一定是一个3D的虚拟世界,而要支持这样虚拟世界的连接和表达就需要一个基础通用的描述语言,像2D的HTML一样,而在3D的世界中这样的描述语言主要用于描述3D的场景。
不过一提到3D标准,我们自然就会把WebGL中比较常用的glTF标准格式和OpenUSD放到一起来比较,但是实际上这二者其实还是有一定的差别,这二者的关系比较类似jpeg和PSD的关系,glTF更偏向于应用在网络传输中的一种紧凑的3D模型标准,而OpenUSD则是一种场景组织和描述的标准,现在Cesium也在推动glTF和OpenUSD的互操作。
目前Cesium是针对Omniverse开发了一个专门的插件Cesium For Omniverse,而这个插件背后就实现了实时将3D Tiles的glTF格式的叶子节点转换到OpenUSD的Fabric Prims,未来OpenUSD也会能够引用glTF格式的资产。
在过去的SIGGRAPH 2023会议上,Nvidia对加速OpenUSD的发展保持了很高的热情,在原先的基础上又增加了物理、材质定义、光线追踪、生成式AI以及地理坐标的支持扩展等,而且在英伟达给出的很多工业数字孪生的应用场景中都着重描述了OpenUSD这种工作流协同能力,尤其侧重在工业生产规划过程中的全流程的协同以及模拟,这也和我们现阶段推动的一些数字孪生项目存在一定的区别,当前我们接触到的一些项目更多属于数据监测类的应用,偏向于基于3D模型的数据整合和展示。
下面说一点题外话,无论是USD还是Nvidia的工业数字孪生都有点「put all the things together」的意思,究其本质还是我们信息化「碎片化整合」的老生常谈,而USD则定义了一个很好的基础的规则。
我们即使是在类似“一网通管”类的智慧城市项目中,由于缺乏标准的约束也会造成极大的碎片化,而后期对于碎片化的信息系统以及数据的整合和梳理都是一件比较困难的事情,上周我参加了一个市级一网通管平台的项目协调会,大数据局作为项目牵头单位需要以「统筹」的视角去梳理、整合以及规范各类社区子系统的建设,这其中就包括了各种旧系统的打通集成(包括多头数据的整合、数据链路的梳理、单点登录集成等)、后续新建系统的统筹建设原则,数据更新原则等等。
现在城市重复的信息化建设项目太多了,而且很多部门的职能以及信息化系统管理的对象都有重合,相互之间数据不仅难以共享而且相互之间存在冲突,政府信息化也是存在极大的泡沫和浪费,个人感觉未来政府信息化会出现的一些趋势:
1、政府的信息化项目未来可能越来越多都会委托大数据局进行统建,在跨部门的项目建设过程中可以更好的统筹数据建设,以前可能大家都觉得政府的官员都不懂信息化,这个可能是早前的一些状况,但是从我最近的一些亲身感受来看,现阶段的大数据局的人员对于信息化建设的理解都很深,而且可以现场绘制业务流程图和数据流程图,而且这些人员大多数原先都是从各个条线抽调上来的,对于业务的理解也很好,所以有了方法 论和业务经验的积累,其实也是可以执行起来的;
2、软件平台新建的项目会越来越少,数据和系统整合类的项目会越来越多,我们现在经常说城市大开发的时代已经过去了,其实这对于信息化也是适用的,信息化的大开发时代也结束了,现在更多进入的是存量的更新阶段了,现在不是信息化系统不够,而是信息化系统太多了。
无论你最终是否使用USD,但是USD的这种思想是值得关注和参考的。我们做很多事情的时候都是多快好省赶快上马,缺乏统一的规划,导致后面扩展整合的难度非常大,而且这个过程还是持续在发生。