11月8日晚,第二期#寻找1000家VR企业CEO#幂次方学院VR大咖说课程分享会如期开启,徐岩(T-SenseVR虚拟现实实验室联合创始人,CTO)带来了“Vizard——年轻而又历史悠久的专业VR引擎”的主题内容。

Vizard引擎为什么能吸引这么多顶级科研机构和企业来使用呢?因为它满足了虚拟现实引擎的几个重要标准,尤其是实时渲染效果。本期VR大咖说,徐岩从历史、简介、主要应用方面、主要客户、特性等方面,为大家全面介绍Vizard引擎。

以下是他的分享全文:

分享全文

大家好,我是T-SenseVR虚拟现实实验室联合创始人徐岩,很高兴参与"幂次方学院VR大咖说"的课程分享。

首先给大家介绍一下T-SenseVR实验室是做什么的,我们是美国WorldViz 独家授权的大中华区技术服务中心、培训中心、虚拟现实一体化解决方案设计和研发中心,主要面向企业级虚拟现实应用,涉及工业教育,房地产和艺术等领域。WorldViz是2002年正式成立于美国加州圣塔芭芭拉市,WorldViz的虚拟现实技术在上世纪九十年代就孵化于美国麻省理工学院,经过近20年的行业积累,作为虚拟现实领域的先驱和领导者,设计和开发的虚拟现实系统主要应用于科研教育、医疗、航空航天、汽车制造、建筑设计,还有虚拟培训、工业仿真、咨询和体育训练等。WorldViz提供的虚拟现实解决方案,在全球已有大概3000多家的用户,主要集中在全球世界500强公司和顶尖的科研机构,都是采用了这套解决方案。

WorldViz核心产品包括两大核心产品,一个是虚拟现实引擎Vizard,还有主动光学精确大范围追踪系统PPT-N。今天来给大家介绍一下Vizard引擎,Vizard引擎在上世纪90年代诞生于MIT的心理学实验室,其实最初是用来做心理学实验的,可能会有人问这个虚拟现实和心理学有什么关系,这不是IT圈的事吗。其实虚拟现实究其根本是在研究人类的感官认知。计算机只是提供一个辅助的模拟手段,通过各种设备来模拟人类的视觉认知、听觉认知、触觉认知,以及嗅觉认知等等,所以这样看来Vizard诞生于心理学实验室就不足为奇,而且虚拟现实是一个多学科的综合领域。

下面这张图是WorldViz在2003年的老产品:

WorldViz经过20多年不断地版本迭代,现在最新的版本是5.6版,大家如果有兴趣的话,可以到WorldViz的官网下载试用版本。

Vizard的企业级客户遍布全球,这里所列举的企业都是比较著名的企业。那在国内的话有很多著名的学府,比如像清华大学、中国人民大学、中国科学院等也是我们产品的客户,以下列举出来的,是我们在全球范围内的客户代表。

Vizard是一款专业的虚拟现实引擎,跟游戏引擎相比其实更纯粹一些。它是为VR而生,可以让开发者比较轻松创建虚拟现实应用,Vizard它允许快速搭建虚拟现实的场景和交互的功能,而且它其实是纯粹的IDE环境,它使用的开发语言是python语言,那Vizard本身内置了很多跟虚拟现实相关的一些功能、模块、方法等等,极大的简化了交互式虚拟现实应用的开发和维护。那它的界面其实很简单,就是一个传统的IDE界面,不像Unity有一些图形化的操作界面。

说起Vizard呢,它实际上更像我们熟悉的微软Visual Studio、eclipse类似这样的IDE开发环境,代码的编写其实是不需要参照引擎定义的一些套路,你可以按照业务的需要随意去设计程序的架构,它非常开放,提供了很多的接口,如果这些现有的接口和模块不能满足你的应用的话,你可以在最底层去编写shader。

另外最关键的一点,Vizard它可以兼顾市面上比较著名常见的VR设备,我们实际上有一个硬件的中间层,这个中间层叫Vizconnect。以下的这张截图,实际上就是Vizconnect图形化的一个配置界面。

需要使用什么硬件,直接在这里去做配置就可以了。所以它是一个简单迅速的连接虚拟显示各种硬件设备和配置相应交互功能。那Vizard本身对市面上所有标准的设备,提供了内置的驱动和接口,无需做多余的2次开发。Vizard的硬件配置和主程序实际上是完全分开的,等于它内容的代码和底层的硬件,是一个松耦合的关系,改动硬件配置不会影响这个主程序。

本次分享的主题Vizard,是历史非常悠久的一个专业引擎,那为什么又说它很年轻呢?因为之前WorldViz的市场主要面向欧美地区,国内很多人对它不太了解,所以说在中国市场它还是非常年轻的。被更多人认知的还是Unity等游戏引擎,但它们为游戏开发而生,更关注的是画面是否绚丽,是否跨平台?因为一次开发就能够跨平台的话,整个开发成本会非常低,为了顺应目前VR技术发展的趋势,在各自引擎的基础框架上增加了VR支持的功能。

虚拟现实应用在面向企业和科研领域,第一要求并不是画面的精美程度,而是要保证稳定的刷新率和足够灵活的开发能力,以及这个VR设备的支持程度。那Vizard除了具备一般游戏引擎所支持的绝大部分功能之外,它的硬件设备切换其实更为方便。当然,Vizard对于粒子系统的支持相对较弱一些,因为粒子消耗的系统性能会非常大,即便使用Unity,VR内容开发的话,粒子系统的应用其实也是格外小心。

以上的截图,就是Vizard整个工具的界面。

WorldViz另外一款主打产品,就是大范围精确追踪系统PPT-N,PPT-N追踪系统是目前最新一代的光学追踪设备。该系统采用最精准的光学主动追踪方式,与同类种类产品相比,PPT-N单个光学探测摄像头可追踪的距离在20米左右,摄像头的分辨率是1280x1080追踪追踪的精确度小于1mm,追踪的刷新率是240HZ。PPT-N系统的另外一大技术优势,是可以在一个空间里同时追踪多个用户。我们做过一个最大范围的实验,是在达到一定要求的摄像头高度情况下,可以做到50mx50m的高品质大范围的精确追踪。

PPT-N的摄像头通过网线作为数据的传输和供电,不需要额外的电源线和同步线,所以安装起来非常简单,而摄像头安装之后的校准也非常快速,在15秒之内就能够轻松的完成。

以上这两张图是PPT的追踪系统,上面的行李箱实际上是一套可移动的PPT追踪设备。它比较方便于去客户现场进行演示,现场搭建非常快速。第二张图是4个光学追踪摄像头,加上一个PPT Wand,还有一个PPT Eyes。

接下来简单介绍一下Vizard引擎的一些特性,Vizard是面向企业级的市场,它不太善于做游戏和娱乐方面的应用,更多是面向企业级的应用。所以,我们在满足比较优良的画质的基础上,最重要的一点是确保极低的延迟和稳定的刷新率,给最终用户一个良好的体验。与此同时,就是针对B端的市场的特点和需求也做了很好的支撑。

Vizard引擎经过20年的不断积累和改进,最重要的是它的低延迟和稳定性,因为在做企业级应用和科学研究时,低延迟和稳定性的是至关重要的,否则科研人员带上头盔后1分钟就晕掉,没法做后续的科学研究。

另外,Vizard最重要的一个特点,丰富的硬件支撑的体系,对于科研教育或者大型企业级应用的话,其实普遍使用的是市场比较主流、高端的设备。比如,有专业的投影工程机、数据手套、工业级的动作捕捉设备,还有数据采集系统、反馈系统等等。而C端用户普遍使用的是价格较低的设备,它的设备比较固定。由于实验教学或企业级应用需求的变化,硬件设备需要经常的新增或改变,这就需要引擎对硬件具有良好的兼容性和低成本的硬件管理解决方案。

举个例子,心理学的实验室可能会有一些这实验,前期实验目的比较简单,可能只需要一些简单的空间追踪,还有一个头盔就可以满足整个实践的需要,但是随着实验的复杂程度的增加、实验目的变化,后期可能需要增加眼动仪、数据手套去进行这种模拟的抓取。再之后会有多人的参与,需要增加cave洞穴式的显示系统。

我们不可能因为每一次硬件的变化,整个代码都要有大程度改动,这样的话非常麻烦,但是Vizard只需要通过Vizconnect的简单的配置,就可以达到硬件的新增或者更换。Vizard在设计之初,就考虑这些硬件的兼容性等,而且在不断的改进过程中,它也植入了很多立体化渲染的模式,有助于VR设备的扩展。比如包括垂直/水平分屏显示模式, quad buffering显示模式 (适用于立体眼镜),扫描线交错模式(line-interlaced)及红蓝立体成像模式(anaglyphic)等。

在一个应用里要涵盖这么多的硬件,其实对整个运算的效率要求会非常高,那Vizard引擎比其他引擎支持更全面的硬件设备,所以它要在极短的时间内完成一系列的运算,并立马反馈结果。它就是这样一个过程,首先从周边的输入设备,比如三维空间追踪系统、动作捕捉系统、眼动仪,以及手柄等获取数据,通过数据运算得到场景中的画面关系,再去进行画面的渲染,将整个渲染结果反馈到相应的设备上输出。这些输出设备包括头盔、cave系统、听觉设备以及力回馈设备,这一系列的运算都要在几毫秒之内完成。否则就会有明显的延迟,体验者会感到不适。

反观游戏引擎,在设计之初更多考虑精美的画面,和跨平台的产品发布,其实它从架构的设计上并没有考虑VR应用的特殊性,可能有一两款的硬件设备还ok,那如果在一个内容或者一个应用里边,加入很多VR应用设备的时候,就有可能产生延迟情况。

我们客户就曾经说过,他之所以选择Vizard的原因其实很简单,就是可以支持众多的VR硬件设备。他是一所高校的老师,现在主要针对Vizard进行虚拟现实的教学,他的教学目的之一是让学生了解真正的VR硬件,并且互相协同使用,在同一个内容里,把硬件都调动起来,Vizard引擎其实更像是一款拥有异构虚拟现实粘合能力的胶水,把这些尚未标准化的设备连接到一起。

以上的小视频,是整个Vizconnect配置的过程,它其实包括tracker的页签,然后有display页签,还有input等。这些页签实际上是把整个硬件设备分成追踪设备,显示设备、还有输入设备等。同时后边有transport、avatar、事件等等,实际上也会在里边定义它不同的虚拟人、行动模式,比如说有行走的、跳跃的、有模拟飞行和模拟直升机等不同的运动的方式。

那Vizard的第二个特性,就是由于它丰富的设备的支撑能力,所以呢,它的内容的开发与硬件的底层实际上是一个松耦合的关系,Vizconnect作为硬件管理层对引擎和开发者提供了统一的硬件界面。这也有效地将内容的开发跟硬件的使用隔离开,那随意替换硬件,而不需要重新修改内容代码。

举个例子,大家可以看到这个截图,是之前做过的一个艺术类VR项目,在红框里边标出来的这一段是整个硬件的配置文件加载,那在里面实际上有四行,那其中后边的三行,都已经注释掉了,现在只执行第一行。第一行的意思实际上是用鼠标和键盘代替追踪设备,主要是用在项目开发过程中的调试,因为在开发的时候,不可能去实时地用到整个大范围的追踪设备去进行调整,非常麻烦。

第二行实际上是使用htc的这套设备,主要应用到以下方面:比如到客户现场去进行调式,还有小面积追踪的解决方案,那实际上解决方案只是替换了硬件的配置文件,其他的内容都是不需要任何变更的,可以连带硬件设备打包直接将整个解决方案卖给客户。

第三行使用到大面积主动光学追踪的系统以及结合oculus dk2的头盔一起使用,然后进行整个内容的演示,主要是针对大型的企业客户,那它如果有足够的资金预算,而且也需要大面积追踪的时候,不需要修改任何的内容代码,直接替换一个硬件的配置文件,然后连同设备打包销售给目标客户。

第四行其实是跟第三行是一样的,只是在整个演示过程中不需要手柄的参与,主要是应用在终端用户客户体验时,因为他要用到手柄的话,你还要去指导他如何去使用手柄,那与其这样不如就把手柄拿掉,只让它进行观赏,然后通过一些自然的交互行为。比如靠近某一幅作品,或者是蹲下或者是到达某一个指定地点,去进行作品的展示,这样的话更为方便。那大家可以看到,其实整个内容其实就是一套代码。但是通过分成不同的硬件配置,就很快速地产生出4套不同的解决方案,然后根据用户的需求和资金能力,分别进行不同的封装,然后打包销售。

作为游戏引擎,它是怎么做呢?因为我对unity不是特别了解,只是了解到用HTC设备的话,那它可能需要把HTC的sdk,从这个steam市场下载下来加载到内容当中,然后针对sdk进行开发,那假如这款游戏内容可能要同时用oculus去进行演示的话,那我可能要把原有HTC的sdk剔除掉,然后替换成oculus的SDK,然后再针对它去进行开发。那对于游戏开发来说,其实是ok的,因为一款游戏,它可能只是针对市面上这几款硬件设备就可以了,但是作为科研、教育或者企业级的应用的话,那其实变更硬件的几率还是蛮高的,那如果变更一次就要改动一遍代码的话,那它整个维护成本将大大增加。

那vizard的另外一个特性,提供了一套非常便捷的集群功能。Vizard的集群功能是可以进行多人交互,就是在同一个虚拟空间有多个真实的体验者进行交互,比如像我们实验室里就有这样的体验,一个人在大范围追踪系统里边带着一套设备进入到一个空间里,然后另外一个体验者使用的是htc的这套设备,然后同样也进入到这一个空间里边。那两个人可以互相地扔箱子,可以进行互相交互。并且在同一个虚拟空间里边互相看到对方,扔箱子的时候,你扔过来,他也可以接到。并且在两个手柄相碰的时候,手也同步也是在虚拟空间里就会交叉。那实现这一切功能,不需要额外写任何的代码,只需要打开Vizard的cluster插件,在主服务器端有一个master端,那在各个终端它有client,那如果要是使用其它引擎的话,其实这个功能也可以实现,但是就需要单独开发相应的网络通信功能,还有同步渲染的功能等等。

以上截图是master端的一个界面。

以上截图是client端的一个界面。

在集群交互的时候,实际上是有一个master端,先打开这个插件,然后有若干个client再打开插件,这个时候在master端就会看到各个client端,然后勾选相应的client之后在vizard上点击运行,那在master端运行的时候,就会把所有的client全都带起来运行。

Vizard的另外一个特性是架构合理,使用比较灵活开放。那其实进行科研、教育及企业应用的时候,引擎要有足够的灵活度和开放性,它不能被引擎本身所束缚,那很多功能,如果实现不了的话,那其实这个引擎本身就没有太大的价值。那现有的游戏引擎更多的都是图形化的操作界面,在使用的时候多少都需要按照引擎规定的一些步骤和工作流去进行开发。

Vizard实际上就是一个简单的IDE环境,代码怎么写,完全是根据具体的业务需要进行架构的组织。以下截图展现的几段代码实际上就是简单、快速地实现样板间的功能,就是说在样板间里漫游,并且可以和样板间里的家具进行交互,比如我可以把样板间里边的桌子椅子可以拿起来,这个就可以通过短短的13行不到的代码轻松实现,

发的这个小视频大家可以打开看看,通过这13行的一个简短的代码就可以实现一个比较具有实际意义的小功能。

给大家介绍完这个 Vizard引擎的一些简单特性之后,再接着来给大家进行我们曾经的一些案例的分享。

首先看这个,美国的一个军用飞机,这是我们跟波音的一个长期合作。波音777x和787机型的整个研发和营销实际都用到了我们的这个产品,那他是如何去跟VR进行结合的呢?实际上,当时我们做了一个7米乘80米的追踪区域,这个追踪区域用了大概十多个光学追踪的设备,那这个追踪器是用来做什么的呢?它是用来模拟整个客舱的活动的一个区域,他会邀请一些目标客户来进行这个体验。这些目标客户戴上头盔之后进入到VR的一个虚拟环境里,来体验客舱设计是否合理舒适,客舱设计是不是有缺陷。对不同的客舱设计比如装饰,他会去进行一个横向的比较,指出哪个设计方案更好。并且这些客户会在虚拟的客舱里行走,去感受整个客舱的舒适度、豪华程度等等。

那美国波音在应用这个VR技术之前是怎么去做这件事呢?其实它是按照几套不同的设计图纸真实地做出几个机型,真的是1:1的一个模型,然后摆在一个很大的场地里。可想而知,这个工作量非常大,一是非常耗时,二是成本也很高,再者就是这种1:1的真实模型,不可能做的跟实际的飞机一模一样,他只能简单地把整体的座舱里的结构做出来,一些像客舱里的内部装饰,还有一些灯光效果,它实际上是模拟不出来的。

在使用 Vizard之后,他直接按照这个图纸在3DMAX里进行建模,就是按着图纸进行1:1的一个建模。并且,它可以进行更加绚丽的一些烘培。这样的话,它会更接近于实际飞机里边客舱的环境。这个时候客户只需要在这个虚拟场景里边进行浏览,然后不停切换不同机型,就可以很快速地进行对比。假如是这种1:1的实际模型的话,体验者从第一个机型走到第二个机型的时候,实际上他的整个记忆是有损耗的。

我们看到的第二张截图,是我们另一个经典案例,这个客户是迈阿密大学实验室,它拥有全世界最大的追踪范围,大概有1100平方米可以用来自由地行走,这个主要应用的就是我们这套交互设备以及 Vizard引擎。实验室可以做的事情就非常多了,比如他可以去进行人类行为学的研究和医疗的训练,还有火灾的应急演练和军事训练,因为它的场地足够大,那我可以做的事情就会非常多。比如像跑步机等这种行动模拟设备都不能代替真实的行走。

当我们戴上头盔之后,你人体感受地球的重力是不可避免的,这个时候你看到的和你感受到的不会是完全一致的。第一,你要去适应在虚拟环境里行走的方式,第二个,它由于这种不同步,一定会产生很晕的感觉。

第三个截图就是我们更重要的应用领域——心理学研究。相信在咱们群里边,有一些老朋友到我们实验室体验过这个经典的demo。这个经典demo它叫视觉悬崖。它不是一个简单的游戏,它主要是应用在心理学研究上,它的研究目的主要是统计视觉感知对人类认知世界的影响,当咱们戴上头盔后,就是你的视野被头盔隔离之后,没有任何的外界的缓冲,眼睛就会欺骗大脑,让你身临其境地在这个虚拟世界里。尽管你知道脚下实际上是平地,但你仍然不敢往下跳。

比较有意思的是,有个来我们这体验的人他戴上这个头盔进行demo测试时,他完全沉浸在其中,然后他以为他站在桥上,他想纵身跳下去,找一找跳悬崖的感觉,但实际上周围都是平地啊!他纵身一跳,整个人就飞出去了,然后呢,嘴都摔破了。唉,缝了两针。

这个demo在做心理学研究的时候,其实要结合眼动仪进行被试者的体验数据的统计,然后来统计被试者在桥升起和行走的时候,他的注视点在哪些地方,从而进行整个世界认知的研究。

由于时间关系,现在已经到9点了,那这次的分享就到这里。谢谢大家的听课。可能内容比较多,说的也比较快,大家如果有兴趣的话咱们可以私下再在群里沟通,也可以到我们的实验室来进行一个亲身体验。最后,再次谢谢大家的这次听课。

如您想获取直播课音频

请添加微信shi6528026

由于版权问题需付费5