虚拟现实技术天津天狮学院黄金栋3-2第3章虚拟现实的相关技术及软件3.1三维建模技术及软件3.2视觉实时动态绘制技术3.3三维虚拟声音技术3.4人机自然交互技术3.5物理仿真技术3.6三维全景技术3.7虚拟现实开发软件工具集3-33.1三维建模技术及软件3.1.1几何建模技术3.1.2行为建模技术3.1.3虚拟现实的建模软件基于物体的几何和形状等信息的表示,研究图形数据结构等问题。处理对物体的运动和行为的描述,通常称之为动画。3-43.1三维建模技术及软件3.1.1几何建模技术1、技术指标几何建模技术的研究对象是对物体几何信息的表示与处理。它涉及表示几何信息的数据结构及相关的构造与操纵数据结构的算法。评价一个虚拟环境建模技术水平的三个常用指标是:交互式显示能力、交互式操纵能力和易于构造的能力。图像必须每秒更新20次以上才能使用户产生连续的视觉,因此模型的表示还必须便于快速构造和显示,这同时也是对行为建模技术的要求。3-53.1三维建模技术及软件3.1.1几何建模技术2、建模方法层次建模法利用树形结构来表示物体的各个组成部分,不仅提供了一种简便自然的分割复杂物体的方法,而且对模型的修改也十分有利。属主建模法让同一种对象拥有同一个属主,属主包含了该类对象的详细结构。当要建立某个属主的一个实例时,只要复制指向属主的指针即可。体素:用来构造物体的原子单位,体素的选取决定了建模系统所能构造的对象范围。结构:用来决定体素如何组合以构成新的对象。优点:简单高效、易于修改、一致性好3-63.1三维建模技术及软件3.1.2行为建模技术1、运动学法通过几何变换如平移和旋转等来描述运动。在运动控制中,无需知道物体的物理属性。在关键帧动画中,运动是通过显示指定几何变换来实施的,内插帧可用各种插值技术来完成,如线性插值、三次样条插值等。2、动力学仿真法运用物理定律而非几何变换来描述物体的运动,通过物体的质量和惯性、力和力矩以及其他物理作用计算出来。更适于物体间交互作用较多的虚拟环境建模。3-73.1三维建模技术及软件3.1.3虚拟现实的建模软件1、3dsMax美国Autodesk公司推出的功能强大的三维设计软件包,它集三维建模、材质制作、灯光设定、摄像机使用、动画设置及渲染输出于一身,提供了三维动画及静态效果图全面完整的解决方案。2、MAYA也是由Autodesk公司出品的一款顶级建模、动画、特效和渲染软件,相对于3dsMax,Maya在电影、大型游戏、数字出版、广播电视节目制作等方面更胜一筹。3、CreatorMultiGen-Paradigm公司出品的交互式三维建模软件,拥有多边形建模、矢量建模、大面积地形精确生成等功能,不仅能够创建三维地形和模型,而且可以高效、最优化地生成实时三维数据库。3-83.2视觉实时动态绘制技术3.2.1实时动态绘制技术的基本原理3.2.2基于图形的实时动态绘制技术3.2.3基于图像的实时动态绘制技术3-93.2视觉实时动态绘制技术3.2.1实时动态绘制技术的基本原理实时动态绘制技术是指利用计算机为用户提供一个能从任意视点及方向实时观察三维场景的手段,所期望的是图像帧速高而等待时间短。当生成虚拟环境的视图时,必须要设计出好的数据空间和视频图像,使计算机系统尽快运行,每秒生成足够数量的新帧,从而保证系统刷新频率不低于20~30帧/秒。等待时间是实时动态绘制技术的另一个关键指标,它指用户动作的开始与在显示器上出现对这一动作的响应反馈之间的时长。3-103.2视觉实时动态绘制技术3.2.2基于图形的实时动态绘制技术1、场景分块(WorldSubdivision)指把一个复杂的场景划分为多个相互之间几乎或完全不可见的子场景。这样系统就能大量地减少在某一时刻需要显示的多边形数目,从而有效降低可视场景的复杂度。2、可见消隐(VisibilityCulling)基于给定的视点和视线方向,决定场景中哪些物体的表面是可见的,哪些是被遮挡而不可见的。使用此方法能使系统仅显示用户当前能“看见”的场景,与用户的视点关系密切。3、细节选择(LevelofDetail)为每个物体建立多个相似的模型,不同模型对物体的细节描述不同。对物体细节的选择越精确,模型也就越复杂。3-113.2视觉实时动态绘制技术3.2.3基于图像的实时动态绘制技术用图像合成代替几何建模来创建复杂的场景,不但真实感强,而且整个过程都可以在二维空间中进行,其绘制时间不取决于场景的复杂度,而只与显示分辨率有关。3-123.3三维虚拟声音技术三维虚拟声音与人们熟悉的立体声音有所不同。所谓的立体声虽然有左右声道之分,但就整体效果而言,立体声来自听者面前的某个平面,而三维虚拟声音则是来自围绕听者双耳的一个球形中的任何地方,即声音出现在头的上方、后方或前方。3-133.3三维虚拟声音技术3.3.1三维虚拟声音的特征3.3.2头部相关传递函数3.3.3语音合成技术3-143.3三维虚拟声音技术3.3.1三维虚拟声音的特征全向三维定位特性(3DSteering)指在三维虚拟环境中把实际声音信号定位到特定虚拟声源的能力。它能使用户准确地判断出声源的精确位置,从而符合人们在真实世界中的听觉方式。三维实时跟踪特性(3DReal-TimeLocalization):指在三维虚拟环境中实时跟踪虚拟声源位置变化或虚拟影像变化的能力。只有声音效果与实时变化的视觉相一致,才可能产生视觉与听觉的叠加和同步效应。3-153.3三维虚拟声音技术3.3.2头部相关传递函数首先通过测量外界声音与鼓膜上声音的频谱差异,获得了声音在耳部附近发生的频谱成形,随后利用这些数据对声波与人耳的交互方式进行编码,得出相关的一组传递函数,并确定出两耳的信号传播延迟特点,以此对声源进行定位。通常在VR系统中,当无回声的信号由这组传递函数处理后,再通过与声源缠绕在一起的滤波器驱动一组耳机,就可以在传统的耳机上形成有真实感的三维声音了。由于这组传递函数与头部有关,故被称为头部相关传递函数(Head-RelatedTransferFunction,HRTF)。3-163.3三维虚拟声音技术3.3.3语音合成技术语音合成技术是从语音参数出发,先通过A/D转换将语音数字化,经过数字处理和运算,然后再通过D/A转换而输出语音的。将语音合成与语音识别技术结合起来,还可以使用户与计算机所创建的虚拟环境进行简单的语音交流,这在VR环境中具有突出的应用价值。3-173.4人机自然交互技术3.4.1手势识别技术3.4.2面部表情识别技术3.4.3眼动跟踪技术3-183.4人机自然交互技术3.4.1手势识别技术(GestureRecognition)将虚拟世界中常用的指令定义出了一系列的手势集合,利用这些手势,参与者可以执行诸如导航、拾取物体、释放物体等操作。手势语言使用户可以自始至终地采用同一种输入设备(通常是数据手套)与虚拟世界进行交互,将用户的注意力主要集中于虚拟世界,降低对输入设备的额外关注。3-193.4人机自然交互技术3.4.2面部表情识别技术(FaceDetection&Recognition)计算机面部表情的识别技术的三个步骤:1、面部表情的跟踪为了识别表情,首先要将表情信息从外界摄取回来。现阶段,跟踪面部表情的装置和方法不一。典型的例子为Sim-Graphics开发的虚拟演员系统(VActor)。此外,有的系统还能通过摄像机拍摄用户的面部表情,然后利用图像分析和识别技术进行表情识别3-203.4人机自然交互技术3.4.2面部表情识别技术(FaceDetection&Recognition)计算机面部表情的识别技术的三个步骤:2、面部表情的编码要使计算机识别表情,就要将表情信息以计算机所能理解的形式表示出来,即对面部表情进行编码。科研人员Ekman和Friesen提出了一个描述所有视觉上可区分的面部运动的系统,叫做面部动作编码系统(FACS),它是基于对所有引起面部动作的脸的“动作单元’的枚举编制而成的。3-213.4人机自然交互技术3.4.2面部表情识别技术(FaceDetection&Recognition)计算机面部表情的识别技术的三个步骤:3、面部表情的识别根据分析人的眉、眼、口等面部器官在不同表情时产生的变化,对表情的识别采用了图示二叉树分类器方案。3-223.4人机自然交互技术3.4.2面部表情识别技术(FaceDetection&Recognition)计算机面部表情的识别技术的三个步骤:3、面部表情的识别表情识别的系统流程如图。3-233.4人机自然交互技术3.4.3眼动跟踪技术(EyeMovement-basedInteraction)视线追踪的基本工作原理是利用图像处理技术,使用能锁定眼睛的特殊摄像机,通过摄入从人的眼角膜和瞳孔反射的红外线连续地记录视线变化,从而记录和分析视线追踪过程。视觉追踪方法技术特点眼电图(EOG)高带宽,精度低,对人干扰大虹膜--巩膜边缘高带宽,垂直精度低,对人干扰大,误差大角膜反射高带宽,误差大瞳孔--角膜反射低带宽,精度高,对人无干扰,误差小接触镜高带宽,精度最高,对人干扰大,不舒适3-243.4人机自然交互技术3.4.3眼动跟踪技术(EyeMovement-basedInteraction)从视线跟踪装置得到的原始数据必须经过进一步的处理才能用于人机交互,目的就是从中提取出用于人机交互所必需的眼睛定位坐标。由于人眼存在固有的抖动,而眼睛眨动也将造成数据的中断,所以如何有效地滤除干扰信号,提取有意眼动的数据时仍需解决的问题之一。将视线应用于人机交互必须克服的另一个困难是避免所谓的“米达斯接触(MidasTouch)”问题,在理想情况下,系统应当在用户希望发出控制时,及时地处理其视线输入,而在相反的情况下则忽略其视线的移动。3-253.5物理仿真技术1、设计数学模型数学模型即描述虚拟对象行为和运动的一组方程式,用来建立虚拟对象的视觉属性(如大小、形状、颜色等)、物理属性(如质量、硬度等)和物理规则(如引力、阻力等)。2、创建物理属性首先确定物理过程,即作用在虚拟对象上的物理现象,接着利用软件仿真算法描述上述物理过程,最后通过计算机程序语言实现上述仿真算法,由此表达出模型质量、密度等物理属性和力的概念。3、实现碰撞检测碰撞检测技术也是VR系统中不可缺少的、极其关键的技术之一。不仅要能检测是否有碰撞的发生、碰撞发生的位置,还要计算出碰撞发生后的反应。目前较成熟的碰撞检测算法有层次包围盒法和空间分解法等。3-263.5物理仿真技术碰撞检测算法:层次包围盒法利用体积略大而形状简单的包围盒把复杂的几何对象包裹起来,在进行碰撞检测时,首先进行包围盒之间的相交测试,若包围盒不相交,则排除碰撞可能性;若相交,则接着进行几何对象之间精确的碰撞检测。空间分解法将虚拟空间分解为体积相等的小单元格,所有对象都被分配在一个或多个单元格之中,系统只对占据同一单元格或相邻单元格的对象进行相交测试。3-273.6三维全景技术(Panorama)3.6.1三维全景技术的基本概念3.6.2全景图的制作技术3-283.6三维全景技术(Panorama)3.6.1三维全景技术的基本概念三维全景技术是一种基于图像绘制技术生成真实感图形的VR实现技术。首先使用照相机拍摄获取图像序列,然后将序列样本折叠变换并投影至观察表面如柱面、球面、立方体表面等,并将图像局部对准,最后由相关软件进行图像拼接融合生成可供浏览和交互的三维全景图。工具软件有QuickTimeVR、IPIX、UleadCool360以及杰图造景师等3-293.6三维全景技术(Panorama)3.6.2全景图的制作技术1、图像拍摄技术原始资料获取方式:其一是使用特殊摄像设备拍摄,如全景照相机、附带鱼眼镜头(FisheyesAdapter)和全景头(Panohead)相机等;其二是使用普通照相机拍摄。拍摄方法:其一是定点拍摄,即将相机固定在三脚架上并围绕相机光心旋转向不同方向拍摄;其二是多视点拍摄,相机