书城计算机网络多媒体技术
13955600000044

第44章 虚拟现实技术基础(2)

沉浸式虚拟现实(ImmersiveVR)系统利用头盔显示器和数据手套等各种交互设备把用户的视觉、听觉和其他感觉封闭起来,而使用户真正成为虚拟现实系统内部的一个参与者,并能利用这些交互设备操作和驾驭虚拟环境,产生一种身临其境、全心投入和沉浸其中的感觉,一般用于娱乐、验证某一猜想假设、训练、模拟、预演、检验、体验等。常见的沉浸式虚拟现实系统有:基于头盔式显示器的系统、投影式虚拟现实系统、远程存在系统等。沉浸式虚拟现实系统的基本组成如图103所示。

图103沉浸式虚拟现实系统的基本组成与桌面式虚拟现实系统相比,沉浸式虚拟现实系统的主要特点如下。

1)具有高度的实时性能

例如,当用户移动头部以改变观察点时,跟踪装置将检测并传递这一改变,使虚拟环境自动以足够小的延迟连续平滑地修改景区图像。这与桌面式虚拟现实系统截然不同,桌面式虚拟现实系统是借助于2~6自由度控制器,通过人工操作来使虚拟环境改变观察场景的。

2)具有高度的沉浸感

沉浸式虚拟现实系统可以使参与者暂时与真实世界隔离开,而处于完全沉浸状态。同时各种专用设备将向参与者提供相应的视、听、触等直观而又自然的实时交互感知,从而使用户获得接近于真实世界的充分体验。

3)能支持多种I/O交互设备并行

例如,在一个利用头盔显示器和数据手套等各种交互设备进行的飞行战斗游戏中,用户不但可以通过头部的转动来切换视角,还可以用戴着数据手套的手指对虚拟飞机加以控制,并对着麦克风说“开火!”。在沉浸式虚拟现实系统中,类似这样的一些行为都会产生多个同步事件,而这些事件又可能分别来自于头部跟踪器、数据手套及语音识别器等不同的交互通道。因此,支持多种输入/输出设备的并行处理也是虚拟现实系统的一项必备技术。

3.叠加式虚拟现实系统

叠加式虚拟现实系统允许用户对现实世界进行观察的同时,通过穿透型头戴式显示器将计算机虚拟图像叠加在现实世界之上,为操作员提供与他所看到的现实环境有关的、存储在计算机中的信息,从而增强操作员对真实环境的感受,因此又被称为补充现实系统。

与其他各类虚拟现实系统相比,叠加式虚拟现实系统不仅是利用虚拟现实技术来模拟现实世界、仿真现实世界,而且要利用它来增强参与者对真实环境的感受,也就是增强现实中无法感知的或不方便感知的感受。人们可以按日常的工作方式对周围的物体进行操作或研究,同时又可以从计算机生成的环境中得到同步的、有关活动的指导信息。

目前,这样的工作方式已经有了一些实验性的例子,如计算机指导的复印机修理,在菱形空间框架中安装铝构件,电线束在安装到飞机上之前的捆绑等。其中一个典型的实例是战斗机飞行员的平视显示器,它能将仪表读数和武器瞄准数据投射到安装在飞行员面前的穿透式屏幕上,使飞行员不必低头读座舱中仪表的数据,从而集中精力盯着敌人的飞机或导航偏差。叠加式虚拟现实系统依赖于虚拟现实的位置跟踪技术,因为计算机随时都需要知道操作员的手和他所使用的物体之间的相对位置。只有仔细调校头戴式显示器中的图像与实际境界中的物体,使它们达到较为精确的重叠时,该类系统才会有用。然而目前的技术尚不足以非常精确地定位,这主要是由于传感器在其可覆盖距离方面的若干限制以及难以控制滞后时间等原因。

4.分布式虚拟现实系统

分布式虚拟现实(DistributedVR,DVR)系统是指基于网络的虚拟环境。它在沉浸式虚拟现实系统的基础上,将位于不同物理位置的多个用户或多个虚拟环境通过网络相连接,共享信息,使用户的协同工作达到一个更高的境界。虚拟现实系统之所以需要运行在分布式环境中,一方面是它可以充分利用分布式计算机系统提供的强大计算能力,另一方面是因为有些应用本身具有分布特性。例如,许多虚拟现实应用要求若干人能同时参与同一个虚拟环境,即协同工作的虚拟现实(CooperativeVR)。这些人既可能在同一个地方,也可能在世界上各个不同的地方,彼此间只有通过远距离网络联系在一起。前面所述的那些虚拟现实技术虽然可以使动态的虚拟环境栩栩如生,但它们都无法解决资源共享的问题,应用DVR系统可以满足这类需求。

图104虚拟战争模拟根据分布式虚拟现实系统环境下所运行的共享应用系统的个数,可以把DVR系统分为集中式结构和复制式结构两种。

集中式结构是只在中心服务器上运行一份共享应用系统,该系统可以是会议代理或对话管理进程。中心服务器的作用是对多个参加者的输入/输出操作进行管理,允许多个参加者信息共享。这种结构的特点是构造简单、容易实现,但对网络通信带宽有较高的要求,并且高度依赖于中心服务器。复制式结构是在每个参加者所在的机器上复制中心服务器,使每个参加者都有一份共享应用系统。服务器负责接收来自于其他工作站的输入信息,并把信息传送到运行在本地机上的应用系统,由应用系统进行所需的计算并产生必要的输出。与集中式结构相比,复制式结构的优点是所需网络带宽较小。另外,由于每个参加者只与应用系统的局部备份进行交互,所以交互式响应效果也较好。但是,它比集中式的结构复杂,而且在维护共享应用系统中多个备份的信息,状态一致性方面也比较困难。

10.2.4虚拟现实系统的技术特点

1.虚拟现实系统的关键技术

一个虚拟现实系统的关键技术可以包括以下几个方面。

1)动态环境建模技术

虚拟环境的建立是虚拟现实技术的核心内容。动态环境建模技术的目的是获取实际环境的三维数据,并根据应用的需要,利用获取的三维数据建立相应的虚拟环境模型。对于有规则的环境,三维数据的获取可以采用CAD技术,而更多的环境则需要采用非接触式的视觉建模技术,两者的有机结合可以有效地提高数据获取的效率。

2)实时三维图形生成技术

三维图形的生成技术已经较为成熟,其关键是如何实现“实时”生成。为了达到实时的目的,至少要保证图形的刷新率不低于15fps,最好是高于30fps。在不降低图形的质量和复杂度的前提下,提高刷新频率。这里,图形生成的硬件体系结构以及在虚拟现实的真实感图形生成中用于加速的各种有效技术是关键所在。

3)立体显示和传感器技术

虚拟现实依赖于立体显示和传感器技术的发展,立体显示技术涉及人眼的生理原理以及在计算机上如何产生深度线索的技术。现有的硬件系统如头盔显示器、单目镜及可移动视觉显示器有待进一步研究,光学显示还存在许多局限性,传感器技术中需要解决设备的可靠性、可重复性、精确性及安全性等问题,各种类型传感器的性能急需提高。

4)应用系统开发工具

当前进行虚拟环境设计时,常用的技术有OpenGL、VRML、DIRECT3D和JAVA3D,这几种技术具有各自不同的特点。

由于OpenGL的跨平台特性,许多人利用OpenGL编写三维应用程序,OpenGL功能非常强大,与三维建模软件结合起来可以很好地实现三维漫游系统。但是,对于一个非计算机专业的人员来说,利用OpenGL编写出复杂的三维应用程序是比较困难的。

VRML2.0(VRML97)目前在网络上得到了广泛的应用,编写VRML程序非常方便。但VRML语言功能目前还不是很强,与C语言等其他高级语言的连接较难掌握。

DIRECT3D是Microsoft公司推出的三维图形编程API,它主要应用于三维游戏的编程,目前相关的学习资料难以获得。

JAVA3D建立在JAVA2(JAVA1.2)基础之上,JAVA语言的简单性使JAVA3D的推广有了可能。但因为JAVA是解释性的语言,所以执行速度非常慢。

5)系统集成技术

由于虚拟现实中包括大量的感知信息和模型,因此系统的集成技术起着至关重要的作用。集成技术包括信息的同步技术、模型的标定技术、数据转换技术、数据管理模型、识别和合成技术等。

2.虚拟现实技术与类似技术的比较

1)虚拟现实与计算机仿真比较

虚拟现实和计算机仿真都是对现实世界的模拟,其根本区别在于计算机仿真是使用计算机来模拟和分析现实世界中系统的行为,而虚拟现实则是对现实世界的创建和体验。两者之间的区别如下。

①仿真的目标是为了得到一些性能参数,主要对运动原理、力学原理等进行模拟,以获得仿真对象的定量反馈,对于场景的真实程度要求不高;虚拟现实系统则要求较高的真实度,要求达到或接近人们对现实世界的认识水平,为了实现虚拟环境中的实时交互,常以牺牲量的要求为代价。

②理想的虚拟现实系统应该能够提供人类所具有的所有感知,但是仿真系统一般只能提供视觉感知。

③计算机仿真是利用计算机软件模拟真实环境进行科学实验的技术,采用用户输入参数,系统显示处理结果的对话方式;而虚拟现实是一种人在循环(ManinLoop)的仿真,用户“沉浸”于虚拟空间中,可以从虚拟空间的内部向外观察,甚至可以把用户暂时与外部环境隔离开来,使他融合到虚拟现实中去,可以更逼真地观察所研究的对象,更自然、更真实地与它进行交互。这是计算机仿真无法实现的。

2)虚拟现实与三维动画比较

表面看来,虚拟现实技术和三维动画似乎差别不大。其实不然,二者有本质上的区别。

①三维动画是依靠计算机预先处理好的路径上所能看见景物的静止照片连续播放形成,不具有任何交互性,用户只能按照设计师预先固定好的路径反复观看某些场景,只适合简单的演示,只能给用户提供较少的信息;虚拟现实技术则截然不同,它是通过计算机实时计算场景,可以根据用户的需要把整个空间中所有的信息真实地提供给用户,真正做到“想得到,就看得到”。

②虚拟现实没有时间限制,可真实详尽地展示,并可以在虚拟现实基础上按照某种路径导出动画文件,同样可以用于多媒体资料制作和宣传,性价比高;而动画受制作时间限制,无法详尽展示,性价比低。

③在虚拟环境中,支持方案调整、评估、管理和信息查询等功能,适合较大型复杂工程项目的规划、设计、投标、报批、管理等需要,同时又具有更真实和直观的多媒体演示功能;动画一般只能作简单的演示。

3)虚拟现实与3D游戏比较

虚拟现实技术与3D游戏的主要区别为:在游戏中,操作者和游戏角色是分离的,操作者用鼠标键盘等控制游戏中的角色,虚拟现实则是一种人在循环中的仿真;游戏中的动作和情景是固定的,是预先设定和定义好的动作,而在虚拟现实中,系统应该能够跟踪观察者的位置和姿势。

但是,虚拟现实技术和3D游戏之间的区别如今越来越模糊了,一些游戏已经逐渐开始采用虚拟现实技术(尤其是Web3D),而虚拟现实中的一些技术同样来自游戏,二者之间的关系可以用“虚拟现实正向游戏走来”来进行描述。美国国家超级计算应用中心(NSCA)的PaulRajlich设计的CAVE环境下的QuakeII演示游戏DeathMatch,游戏界的传奇人物EdBoon(MortalKombat制作人)竟然在一个虚拟的大坑前跪了下来,并意外地“掉了进去”,而实际上他是站在地板上的。

4)虚拟现实与多媒体、多通道人机界面技术比较

①研究目的不同。虚拟现实依靠立体视觉、身体跟踪和立体音响等技术来模拟现实世界,旨在使用户获得一种沉浸式的多种感知通道的体验。VR中计算机生成的视听幻想(AudioVisualIllusion)涉及人脑固有的感觉效应通道的协调机制;多通道研究则力求详尽地探索人体感知和控制行为中的各种并行和协作特性,允许用户利用多个交互通道以并行、非精确方式与计算机系统进行交互,旨在提高人机交互的自然性和高效性。

②从交互行为的研究上来说,虚拟现实技术的研究与多通道研究之间存在交集,但它更侧重于应用系统。

10.3虚拟现实技术的应用

10.3.1虚拟现实技术的应用领域

1.自然、文化遗产的保护和弘扬

世界上下五千年的悠久历史,为人类留下了丰厚而珍贵的自然文化遗产。但是,随着时间的流逝,也随着人类活动的日益影响,这些遗产不断遭到破坏。如何利用先进的技术手段来保护这些宝贵的遗产,成为迫在眉睫的全球性问题。

在这种背景下,早在20世纪70年代,人们就开始利用摄影、摄像等技术记录自然文化遗迹的信息。但是,这些资料难以长久保存,如录像带的老化等,而且图像复制也会产生失真。随着多媒体和图形图像处理技术的发展,及随着20世纪末虚拟现实技术的兴起和网络的高速发展,遗产保护事业有了新的曙光--高精度高逼真的数字化遗产保护技术。

2.虚拟人机工程学

人机工程学是运用心理学、生理学、医学、人体测量学、美学和工程技术等有关科学知识,研究不同作业中人、机器及环境三者之间的协调,以指导工作器具、工作方式和工作环境的设计和改造,使得作业在效率、安全、健康、舒适等几个方面的特性得以提高的新兴边缘科学。人机系统中,操纵人员是人机系统中的主体,设计和运用人机系统时应当充分发挥人在人机系统中的能动和主导作用,要把人和机器作为一个整体来考虑,合理地或最优地分配人和机器的功能。

将德国Humansolution公司开发的“Ramsis”人机工程模型引入虚拟环境后,人们可以操纵虚拟人并使之变换不同的位置,选定不同的视点和坐姿,以客观地评价汽车驾驶室的人机工程学性能,考察概念车的坐椅和周围物体的关系,查看司机的视觉条件,检查仪表盘是否在最佳视锥覆盖范围内,以及观察人体后倾时的状况,即所谓的“Cpillar”位置。

3.教育与培训

1)仿真教学与实验