VR基本原理
一图胜千言,我们通过手机或者电脑和VR相连,VR 头戴设备将信号输送到一块屏幕或者两块 LCD 镜片上面来,这些镜片通过对焦和二次成像来修正每个眼睛看到的图像,改变 2D 图像的角度来模仿立体 3D 影像在不同眼睛里的模样。你可以试着闭上一只眼睛,然后快速反复地来回切换眼睛观察物体,你就能明白上述的原理了。
VR看似简单,但是涉及很多原理性的东西,接下来,我们再将基本原理分几块,一一讲解
VR与计算机图形学
计算机图形学是虚拟现实最重要的技术保证,为了让人在计算机所创造的虚拟世界里面有一种身临其境的视觉感受,VR对传统的计算机图形学提出挑战,vr图像必须具备以下几点:
-
高质量的实时的图像生成。vr应用要求绘制系统能根据用户视点和视线方向的变化及时的生成相应的视图,“高质量”是指绘制的场景的复杂度和真实感应该满足特定的应用需要。
-
高分辨率的显示。表现为一个宽视角的立体显示器,这是产生“沉浸感”的前提。
-
自然的交互。系统应该确保用户在虚拟环境中的操作简单易学,并得到有效的响应。
以上挑战,计算机成像技术是VR中最根本和关键的核心问题,在传统的图形学里面,图像的生成是利用透视投影原理将三维几何模型变换成二维屏幕空间的过程,这其中包括光照,消隐,纹理,阴影等一系列复杂的计算和处理,尽管经典的图形学发展已经能在很短时间内产生具有相当复杂度的图像,但是仍然无法满足VR的应用要求,限制了VR的发展,但是九十年代中后期国际上有了一股新的浪潮--基于图像的建模和绘制技术(IBMR),相对于传统图像学是一次飞跃。
VR 的建模主要分为两种:基于几何的VR和基于图像的VR(IBMR),但是基于几何的VR建模已经无法满足要求,所以更多是使用基于图像的建模。基于图像建模,顾名思义就是指预先获得一组图像来表现场景的形状和外观,而新图像的合成则是通过适当的组合原有的图像来实现,这和基于几何的传统建模有很大优势
-
建模更容易,不需要耗费大量的精力和技巧,因为拍照是很容易的。
-
绘制很快,不需要复杂的计算,直接从已有的视图合成新的视图。
-
真实感强。基于图像的方法能够真实的反映景物的形状和丰富的明暗,材料及纹理细节,不需要额外的光照模拟。
-
交互性好。由于有绘制速度和真实感的保证,再加上交互设备和反馈技术,使得基于图像的VR有更好的交互性。
VR与人机交互
VR还有一大块就是人机交互,这个直接关系到“沉浸感”的体验,在二维屏幕交互中,几乎所有控制命令都可以抽象为按键动作。而对于虚拟现实输入设备来说, 我们更注重的是自然交互,意思就是我们在现实世界里怎么跟外界交互,在虚拟世界里我们也希望按照同样的方式交互,沉浸感更高,效率高,学习成本低。但是在 现实世界中,人与外界交互的方式是很复杂的,我们除了用手直接操作外,还会通过各种工具间接实现,比如我们会用手直接去抓取一个苹果,也会用刀去切苹果。 为了实现这样的交互方式,市场上出现了一批很棒的产品,为了更明白的讲清楚这些产品,我们做了一个简单的归类。
一类是感官式沉浸:强调身体的沉浸感,主要靠采集肢体动作来进行虚拟现实交互。代表产品有Leap motion、Nimble sense、诺亦腾、 Priovr、Control VR、Dexmo、Kinect、Omni。PS:诺亦腾和DEXMO是国人出品,但早已蜚声海外了。
第二类是交互式沉浸:强调功能性,主要靠动作跟踪和按键控制来进行交互。代表产品有Stem, Hydra,Wii,摇杆、方向盘、体感枪等。
那一个好的虚拟现实交互设备应该具备哪些要素呢,我们列了以下10点:
-
空间沉浸感,虚拟现实显示,给我们带来了更高维度的人机交互视觉体验,与之相配套的输入设备,也应该具备空间跟踪功能和沉浸感;
-
稳定,任何输入设备,没有稳定性就只能是一个试验品,谁也不愿意使用一块不时失去响应的鼠标或者键盘;
-
精确,人机交互时,控制点的抖动和漂移是最难以接受的,会给操作者带来极大的不确定性,影响操作效率和体验;
-
低延时,丝般顺滑的操作感和完全无法感受到的延时,会给使用者带来完美的交互体验;
-
* 便利性,输入设备如果需要复杂的穿戴和准备过程,是普通消费者无法接受的;
-
* 舒适性,人机工程学在键盘鼠标年代已经发展很久了,如果使用者在操作时始终需要做无支撑的悬空操作,长期使用控制器造成肌肉劳损,也是不可能普及推广的;
-
直觉控制,键盘、鼠标等传统手段,最大的优势在于,便于操作者建立直觉控制,我们可以键盘盲打,实现非常高的输入速度。如果新的输入方式无法实现,而戴着头显无法正常使用键盘,就会出现输入真空,直接影响到虚拟现实在多领域的应用;
-
低价,不低价难以推广,也无法形成统一的操作习惯;。
-
兼容普适性,普通人不希望为了不同的工作和娱乐需要,配备多种输入设备,希望一套设备能满足多种需求。
-
操 作反馈,操作反馈主要包括视觉、声觉和触觉,视觉和声觉反馈很重要,但是触觉反馈也一样重要,举两个例子,第一个例子,触屏手机刚刚出现的时候,屏幕键盘 触碰是没有震动反馈的,但是近几年的手机都出现了这个功能,第二个例子,surface第一代键盘是没有按键行程的,敲击没有触觉反馈,成为了公众体验评 价最糟糕的键盘。触觉在动物知觉里的重要性,不亚于视觉、听觉。
VR与人工智能
虚拟现实技术与人工智能技术期初并没有太大的联系,甚至现在也依旧如此,它们的研究方向本就是两条不同的路。但是这也正是它们未来必定会紧密结合的 原因。虚拟现实技术的主要研究对象是外部环境,而人工智能技术则主要是人类智慧本质的探索。现在二者的均处在起步阶段,自然谈不上相互合作,但是当它们的 研究水平都达到了一定层次的时候,就能够在一定程度上弥补对方的缺陷。无论是创建“第二世界”,还是通过虚拟智能助手改变人们的生活方式,都会改变我们认 识世界的方式。
为什么说VR必定会于人工智能相互结合?我曾经有过这样一次VR游戏体验:我和一个虚拟伙伴处在一间密室之中,需要不断地寻 找线索,最终逃出密室。没错,这就是VR版的密室逃脱游戏。它确实为我带来了很强的沉浸感,但是在整个体验中我脑海里浮现的最多的一句话却是:“这是假 的!”
如果我静止不动,它给我的感觉的确相当真实,然而当我开始四处探索时,所谓的沉浸感就会不断地遭到破坏。一方面,我无法拿起桌上的书 本、杯子以及无关的物品,许多地方系统并没有设置互动功能;另一方面我也没有感觉到我确实触碰到了什么。更重要的是,那所谓的伙伴更像是一个木讷的机器 人,我无法与他正常交流,每当我面向他时,他只会对我说:“我们现在该怎么办?”
现在的VR体验还只是在领域的外围打转,Oculus首席 科学家MichaelAbrash对VR的定义是:能给我们带来与现实世界相同的视觉、听觉甚至触觉感受,才能算是真正的虚拟世界。而在此基础 上,Facebook的CEO马克·扎克伯格则认为,有智慧的世界才是真正的第二世界。
当高度发展的人工智能技术融入VR世界,这个世界将会真正地“活”过来,为我们创造更多不可思议的事物。
首先是游戏行业,从上述的体验我们可以看出,现在的VR游戏比较初级,客观上看,没能融合人工智能的VR技术只不过是让使用者沉浸在设定好的3D场景中。无触觉,无智能,这个世界依然是死的,在可玩性上甚至不如许多第一视角的平面游戏。
如果将人工智能植入VR游戏中,游戏中的人物拥有了一定的智慧,甚至是独特的个性,那么游戏内容也将随之生动起来。玩家不再是一成不变地完成各种任务,更可 以和NPC相互交流。而其中影响最大的或许会是模拟类游戏,相信大家对于大型3D模拟现实游戏《第二人生》并不陌生,这款游戏本就曾红极一时,现在已经推 出了VR版本。虽然VR版《第二人生》目前并没有受到玩家的大量关注,但是当它未来加入了人工智能技术后,或许会产生质的变化,游戏中的NPC将有可能摆 脱以往僵硬木讷的形象,而是真正被赋予了独特的个性。玩家能够在游戏里与他们闲聊,所得到的也不再会是机械般的回答,甚至你根本不知道他们下一句会说出什 么,玩家仿佛真的来到了另一个平行世界。
VR与人体工程学
人体工程学是一门“研究人在某种工作环境中的解剖学、生理学和心理学等方面的各种因素;研究人和机器及环境的相互作用;研究在工作中、家庭生活中和休假时怎样统一考虑工作效率、人的健康、安全和舒适等问题的科学”。
在 智能设备红极大江南北的同时,移动设备简单易用的设计理念早已被大众所熟悉,简单便捷的操作将为VR设备加分不少。由于VR头盔是直接戴在头上的产品,符 合人体工程学是大部分VR设备必须学习的入门课程,不管是降低重量还是贴合脸部,只有让用户感到舒适,才能让用户有完美的沉浸式体验。
VR与神经学
瑞士的一个新兴医疗卫生机构 MindMaze 则将VR技术与神经学整合,用于帮助那些承受过截肢、脊髓损伤而留下心理阴影的病人。他们通过使用一个专门的头戴显示器和传感动作捕捉设备,让医生给病人 下达指示形成一种心理错觉,让他们突破心理障碍从而移动、控制自己觉得失去了知觉的肢体。MindMaze 的CEO Tej Tadi 相信通过虚拟仿真游戏,他们可以对病人的大脑产生影响,让他们相信自己在虚拟世界中的肢体都是真的,从而治疗内心的障碍。
这些治疗方式和技术现在在美国加利福尼亚州、长滩市的退伍军人保健系统中心都有应用,因为退伍军人绝大多数都会患上 PTSD,所以这里最有效应用和试验研究的地方。为了推动虚拟技术在医疗界的发展,许多新兴技术公司都在致力开发低成本的虚拟仿真设备,以帮助那些受精 神、心理疾病折磨的病人早日脱离苦海。他们的想法是:如果VR设备价格低廉,那么医院就可以大幅采购用于治疗,这不管是对于研究人员、心理医生或者病人来 说都是非常有利的。
VR软件
——开发语言
说起 VR 语言,其实还不如说是 3D 引擎的语言。VR 没有 3D 引擎支持是无法进行开发的。让我们看看上面提到的 3D 引擎和 SDK 主要使用什么语言。
首当其冲的是 C/C++ ,这是毋庸置疑的。大多数 3D 引擎都使用 C++ 开发,Oculus 提供的 SDK 也是使用 C++ 进行开发的。 Gear VR 是在安卓设备上运行,需要使用 Android NDK 基于 C++ 进行开发。Unreal 引擎同样使用 C++ 进行开发。MiddleVR 提供了基于 C++ 的 SDK。
其次是 C# 。 Unity 把 C# 当作脚本语言使用。在 VRPN 中可以使用 。NET bindings for VRPN 作为开发语言。不出意外的话, HoloLens 也一定使用的是 C# 。
再 次就是 Javascript 。它也是 Unity 的一种脚本语言(即使选择的人并不多)。但 WebVR 和 Javascript 程序员的基数(基友数?)一定会让 Javascript 继续在使用人数上占优(我真的不是黑啊)。即使不考虑 WebVR , three.js , Babylonjs 这类已经非常成熟的 HTML5 3D 引擎也足够证明 Javascript 在 3D 上的强大生命力。
——场景搭建
Unreal Engine4虚幻游戏引擎是一款商业性的3D游戏开发引擎,是Epic数百位工程师、艺术家以及设计师的心血之作。不过这还只是开始,在C++代码中, 你可以看到很多创新之处,比如支持Oculus VR、Linux系统、Valve公司的Steamworks和 Steam Box效果,并且可以使用HTML5在网页浏览器中开发游戏。虚幻引擎4基于DirectX 11,拥有新的材料流水线、蓝图视觉化脚本、直观蓝图调试、内容浏览器、人物动画、Matinee影院级工具集、全新地形和植被、后期处理效果、热重载 (Hot Reload)、模拟与沉浸式视角、即时游戏预览、AI人工智能、音频、中间件集成等一系列全新特性。
3D Studio MAX 是Autodesk公司的子公司Kinetix推出的一种优秀的三维动画造型软件,它广泛用于游戏、广告、建筑等领域,是目前PC上最流行的三维动画造型 软件。虚拟现实技术是计算机技术发展到一定阶段的产物,它使计算机适应人而不是人适应计算机,它的发展应用日益广泛、普及。
VRClay使用Oculus Rift头戴式显示器和Razer的Hydra体感控制手柄,让用户以虚拟现实(VR)的方式在数字空间完成3D建模。对用户来说,这种3D建模方式抛开了鼠标、键盘,更加自然,只需动用自己的双手,像捏泥巴一样塑造出3D对象,所以该软件的名字就叫VRClay(虚拟粘土)
VR硬件
——移动端头显
一个硬纸板,两块凸透镜,外加一部手机,你就可以体验一把虚拟现实,没错,这就是GOOGle CArdboard,一款价格低廉的入门级虚拟现实设备,不用质疑,一幅装凸透镜的盒子,再加上一部手机,就能把智能手机变成一个VR观看器。某宝上有该款设备的手工体验版,可以亲手组装,9.9元还包邮也真是普及了大众对VR的首次认知。
除了Google Cardboard这种硬纸板做成的移动端头显,在中国电子市场,得益于成本低,移动VR可谓是百花齐放,暴风科技(68.66 -10.00%,买入)的暴风魔镜系列、焰火工坊的极幕-1、还有在上个月刚发布的华为第一款VR眼镜盒HUAWEI VR。智能手机性能持续快速地提升,加之VR眼镜低成本带来价格优势都有利于移动VR设备的推广,眼镜盒子火起来也不是什么奇怪的事儿。
相关企业产品:三星 GEar VR、谷歌 Cardboard、暴风科技 暴风魔镜、烟火工坊 极幕-1、华为 VR、BOBOVR 小宅Z3、维阿时代 灵镜小白、蚁视 蚁视机饕。
——外接头戴式设备
如果你需要一款便宜、简单的眼镜,那你可以选择移动端头显。如果你是一名专业级VR用户,那PC端如HTC Vive、Oculus Rift这类产品将能够满足你的需求。外接头戴式设备的用户体验要比眼镜盒子好上不知多少,但因其技术含量较高,价格也相对昂贵。
除此之外,外接头戴式设备,需连接电脑进行互动,在体验一些可活动的游戏时必将受到数据线的束缚,同时,对于所连接的主机配置要求也相对较高。这一类产品更适合于企业级客户,他们通常对计算能力要求高、使用便捷性要求低,PC端VR必将会成为行业客户市场的主流设备。
相关企业产品:HTC Vive、Oculus Rift、Sony
Playstation VR、大朋E2、3Glasses、雷蛇 OSVR、维拓科技 蜂镜K1、掌网 星轮VIULUX V1。
——一体机头显
业内人士普遍认为与移动端和PC端VR相比,VR一体机才是未来的终极形态。而这一想法也不无道理,PC端的VR产品体验没的说,但是需配合电脑一 同使用。眼镜盒子价格低廉,但其体验效果一般也显而易见。一体机形态,算得上是真正意义上的VR独立产品,不受空间约束和其他外部影响,但目前VR一体机 的问题在于技术门槛过高、成本过高,一般公司,做起来还是有一定难度的。
据了解,高通很早就在强调骁龙820针对VR所做的优化,目前,这 项新科技也着实抬高了移动VR的门槛,使得搭载820的手机在移动VR方面的体验更加出色。上个月,国内VR设备制造商Pico就发布了一款搭载骁龙 820芯片的VR一体机。可以预见,上游芯片制造商携手终端设备制造企业共同打造VR产业,无论是对其内容开发者,还是对相关企业及行业,都将有利于VR 生态的整体发展。
——VR手柄
VR手柄属于局部动作追踪,包括采用惯性传感器、震动马达的传统手柄及动作感应手柄。这里我们主要看一下利用惯性传感器获得信息输入的手柄,代表产品有Oculus Touch。
基于惯性传感器的手柄根据加速度和磁场传感器在各测量轴方向上的分量,计算得出手柄相对于重力加速度轴和地磁场轴的俯仰角和方位角,将这两个角度作为手柄的状态变量计算得到动作指令,通过串口传送到主机端,然后在虚拟场景中完成相应虚拟场景动作。
——数据手套
数据手套代表性产品有5DT、CyberGlove、Measurand、Dexmo等。
数据手套中装有许多光纤传感器,能够感知手指关节的弯曲状态,并将状态信息转换成电信号并经过微处理器处理后再通过串口输出给计算机。
在人机交互的过程中使用数据手套捕获操作者手的各种手势或动作,传送给生成虚拟环境的计算机。
——基于计算机视觉的手势输入设备
基于计算机视觉的手势识别可以分为基于单目视觉的手势识别和基于多目视觉的手势识别。基于单目视觉的手势识别就是通过单个摄像机来采集手势图像,从而建立平面手势模型。
这种方法处理的数据量较小,识别速度快,但是对于用户手势的输入限制较大。基于多目视觉的手势识别是通过两个或两个以上的摄像机来采集图像,建立的是立体模型。
这种方法对于用户手势的输入限制较小,可以实现更加自然的人机交互,但由于立体模型的复杂性,需要处理大量的数据,计算较复杂。
——基于计算机视觉的动作捕捉系统
该类动捕系统比较有代表性的产品分别有捕捉身体动作的Kinect,捕捉手势的LeapMotion和识别表情及手势的RealSense。
该类动捕系统基于计算机视觉原理,由多个高速相机从不同角度对目标特征点的监视和跟踪来进行动作捕捉的技术。理论上对于空间中的任意一个点,只要它 能同时为两部相机所见,就可以确定这一时刻该点在空间中的位置。当相机以足够高的速率连续拍摄时,从图像序列中就可以得到该点的运动轨迹。这类系统采集传 感器通常都是光学相机,基于二维图像特征或三维形状特征提取的关节信息作为探测目标。
基于计算机视觉的动作捕捉系统进行人体动作捕捉和识别,可以利用少量的摄像机对监测区域的多目标进行监控,精度较高;同时,被监测对象不需要穿戴任何设备,约束性小。
然而,采用视觉进行人体姿态捕捉会受到外界环境很大的影响,比如光照条件、背景、遮挡物和摄像机质量等,在火灾现场、矿井内等非可视环境中该方法则完全失效。另外,由于视觉域的限制,使用者的运动空间被限制在摄像机的视觉范围内,降低了实用性。
——触觉反馈
这里主要是按钮和震动反馈,这就是下面要提到的一大类,虚拟现实手柄。目前三大VR头显厂商Oculus、索尼、HTC Valve都不约而同的采用了虚拟现实手柄作为标准的交互模式:两手分立的、6个自由度空间跟踪的(3个转动自由度3个平移自由度),带按钮和震动反馈的 手柄。这样的设备显然是用来进行一些高度特化的游戏类应用的(以及轻度的消费应用),这也可以视作一种商业策略,因为VR头显的早期消费者应该基本是游戏 玩家
——眼球追踪
提起VR领域最重要的技术,眼球追踪技术绝对值得被从业者们密切关注。Oculus创始人帕尔默•拉奇就曾称其为“VR的心脏”,因为它对于人眼位置的检 测,能够为当前所处视角提供很好的3D效果,使VR头显呈现出的图像更自然,延迟更小,这都能大大增加可玩性。同时,由于眼球追踪技术可以获知人眼的真实 注视点,从而得到虚拟物体上视点位置的景深。所以,眼球追踪技术被大部分VR从业者认为将成为解决虚拟现实头盔眩晕病问题的一个重要技术突破。但是,尽管 众多公司都在研究眼球追踪技术,但仍然没有一家的解决方案令人满意。
——肌电模拟
关于这个我们通过一个VR拳击设备Impacto来说明,Impacto结合了触觉反馈和肌肉电刺激精确模拟实际感觉。具体来说,Impacto设备分为 两部分。一部分是震动马达,能产生震动感,这个在一般的游戏手柄中可以体验到;另外一部分,也是最有意义的部分,是肌肉电刺激系统,通过电流刺激肌肉收缩 运动。两者的结合能够给人们带来一种错觉,误以为自己击中了游戏中的对手,因为这个设备会在恰当的时候产生类似真正拳击的“冲击感”。
然而,业内人士对于这个项目有些争议,目前的生物技术水平无法利用肌肉电刺激来高度模拟实际感觉。即使采用这种方式,以目前的技术能实现的也是比较粗糙的 感觉,这种感觉对于追求沉浸感的VR也没有太多用处,“还不如震动马达”。还有一位从事疼痛缓解理疗仪的朋友表示,利用肌肉电刺激来模拟真实感觉需要克服 的问题有很多,因为神经通道是一个精巧而复杂的结构,从外部皮肤刺激是不太可能的,但是“随便”电刺激一下让肌肉运动以当做反馈是可以的。
——方向追踪
方向追踪除了可以用来瞄点,还可以用来控制用户在VR中的前进方向。不过,如果用方向追踪调整方向的话很可能会有转不过去的情况,因为用户不总是坐在能够 360度旋转的转椅上的,可能很多情况下都会空间受限。比如头转了90度接着再转身体,加起来也很难转过180度……所以,这里“空间受限无法转身是一个 需求”,于是交互设计师给出了解决方案——按下鼠标右键则可以让方向回到原始的正视方向或者叫做重置当前凝视的方向(就是你最初始时候面向的那个方向), 或者可以通过摇杆调整方向,或按下按钮回到初始位置。
——语音交互
在VR中海量的信息淹没了用户,他不会理会视觉中心的指示文字,而是环顾四周不断发现和探索。如果这时给出一些图形上的指示还会干扰到他们在VR中的沉浸 式体验,所以很好的方法就是使用语音,和他们正在观察的周遭世界互不干扰。这时如果用户和VR世界进行语音交互,会更加自然,而且它是无处不在无时不有 的,用户不需要移动头部和寻找它们,在任何方位任何角落都能和他们交流。
关于:中科研拓
深圳市中科研拓科技有限公司专注提供软件外包、app开发、智能硬件开发、O2O电商平台、手机应用程序、大数据系统、物联网项目等开发外包服务,十年研发经验,上百成功案例,中科院软件外包合作企业。通过IT技术实现创造客户和社会的价值,致力于为用户提供很好的软件解决方案。联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com