论文 关键词:虚拟现实 虚拟校园漫游 几何建模 场景优化 人机交互技术
论文摘要:虚拟漫游系统的开发是虚拟现实技术的一个重要应用。以华北电力大学保定二校区为虚拟仿真环境 ,使用 3dmax建模工具对校 园中的各种模型进行建模,使用多种基于几何建模的场景优化措施,并基于googleeach卫星截图进行场景的精确布局设计。结合 virtools虚拟现实开发平台,设计 了虚拟校园漫游系统的开发流程,并在微机平台上实现了一个场景复杂的校 园实时漫游系统。该校 园漫游系统不但为用户提供了友好的web界 面,而且设计并实现了基于导航图控制的人机交互机制,便于综合使用多种漫游方式快速漫游校 园的场景。
虚拟校园漫游系统作为校园数字化工程的一部分,是指利用高性能 计算 机软硬件去创建具有良好交互能力、能使参与者具有沉浸感、有助于启发参与者构思的信息环境。借助这样一个基于真实空间或假象空间的实时仿真虚拟空间,不仅可以全面展示校园建筑物的外观、周边环境,还可以以任意视角观察建筑物的内部布局结构和内部设施,使参观者足不出户就可以进入虚拟的校园,尽情领略校园的美好风光。虚拟现实技术则是在计算机图形学、仿真、人一机接口、多媒体以及传感技术的基础上 发展 起来的一门交叉学科。用户以6个自由度在这个仿真的环境里进行对话,以 自然 的方式进行交互操作。利用计算机生成的模拟环境,通过传感设备和计算机接口,给用户亲临其境的感受。WWw.133229.CoM高逼真虚拟环境的建立是虚拟现实技术的核心内容,除了满足沉浸感,还必须满足交互性或实时性。虚拟校园漫游系统作为虚拟现实技术在特定领域的发展 和应 用,也 是是虚拟现实技术 的综 合应 用,其研 究成果 同样可用于公共建 筑项目(如车 站、机场、桥梁 、港 口、大坝、核电站等大型工程)、城市规划设计方案、城市 交通 布局设计方案、建筑物室内设计、布置和装饰效果的先期演示、验证。目前已有的虚拟漫游系统根据其处理基元的类型可以分为 3种:基于多边形的实时漫游系统,基于图像的实时漫游系统以及混合类型的实时漫游系统。
基于图像的实时漫游系统无需使用几何模型的多边形描述场景,而只需场景对象的数字图像。这种方法虽然具有建模时间短,绘制效果逼真的优点,但是存在图像匹配困难,存储数据量大,立体感不强的缺点。对于碰撞检测等交互式行为仿真,用这类 算法处理 极为困难 。基于全景图技术 的漫游系统就属于这一类,而目前国内一些大学开发的校园漫游系统一般采用这种全景图技术,可以实现对场景的固定视点的任意视角的漫游 ,但从一 个视点到另一个 视点的移动会产生跳跃,且交互性差,quicktime是这类漫游系统的代表。
基于多边形的实时漫游系统也称为基于几何渲染的漫游系统。这类漫游系统一般具有很好的交互性,既可以在导航器的指导下漫游,也可以根据用户的意愿自由漫游。但是一个高逼真的基于多边形的虚拟校园漫游场景通常包含上千万甚至更多的多边形,大规模虚拟校园场景复杂度的增加势必影响场景绘制的实 时性 。
混合漫游系统既使用图像也使用多边形来参与绘制,试图融合前两者的优点,但是目前该技术不是很成熟,基于图像的漫游系统固有的缺陷仍然存在。因此,本系统选择采用基于多边形建模的方法构建虚拟校园漫游系统。
1 基于多边形的虚拟漫游关键技术
目前从技术角度来说,建筑物虚拟漫游的最大难点在于建模和实时绘制。虽然随着计算机技术的发展,个人计算机的处理能力有了极大提升,甚至已经超过了以往专业图形工作站的水平。尤其是cpu和 gpu(graphics processing units)的迅猛发展,使得在微机上开发虚拟漫游系统具备了一定的物质基础,但是由于室外建筑漫游所看到的景象距人们很近,因此需要绘制得非常逼真并且建模时需要构造得非常精细,这往往消耗计算机大量的时间和空间资源。同样,对于构造出来的如此复杂的模型,在对其进行绘制时,由于gpu性能的制约也往往很难达到实时效果。因此,围绕解决大规模室内外漫游场景绘制的质量与实时性的矛盾也就必然成为开发虚拟漫游系统要解决的关键问题。本系统主要实现一个基于多边形的校园室外漫游,需要考虑使用的关键技术主要包括:可见性裁减技术,lod(1evel ofdetail)技术。
1.1 可见性裁减技术
可见性裁减处理从某个视点来说场景中可见部分的确定问题,即只将潜在的可见部分送入绘制管道,从而提高场景实时绘制的性能。如图 1所示,根据场景中不可见面片的种类,可以将可见性裁减分为视见体裁减和遮挡剔除。视见体裁减主要裁减位于视见体外部的多边形,简单场景的视见体裁减可以基于 opengl等图形绘制软件包在基本图元一级进行裁减,而对复杂场景的视见体裁减一般根据预处理阶段构造的层次数据结构对场景空间数据进行合理组织,可以在场景对象一级进行裁减,因此使用 cpu进行视见体裁减的时间开销更低。遮挡剔除是对于当前视点剔除掉位于视见体内且被其前面的遮 挡物(occluder)遮挡住的对象。另外,可以将裁减那些背向视点的多边形的背面裁减理解为一种最简单的遮挡剔除。综合国内外在这方面的研究情况,可见性裁减算法主要分为预处理与实时处理,保守型与近似型,点与区域型,图像空间与物体空间,还有单独遮挡物与遮挡物融合5种类型 。
1.2 lod技术
lod绘制技术是指对网格面片表示的模型,在一定误差的精度范围内,根据视点与物体的距离或物体的重要性等因素决定删除点、边、面,从而简化所绘制场景的复杂度,加快图形的绘制速度。因此这里采用lod 技术充分利用了人眼的视觉特性,在模型的精细程度与绘制的速度方面取一个折衷,既要保证一定的绘制质量,以满足良好的视觉效果,又不造成用户漫游的不适感。地形这一特殊的复杂模型一般采用多分辨率建模技术绘制。所谓多分辩绘制算法可以认为是lod技术的延伸,即算法实时地根据视点的变化而简化地形绘制的一种方法。由于校园地形较为平坦,地貌特征并不复杂。基于以上情况,如图2所示,本系统参照卫星地图构建了华北电力大学保定二校区地形的平面模型,用它来替代地形模型。
2 虚拟漫游系统流程设计与开发
在虚拟校园漫游系统开发过程中,对现有的建筑及其它场景采用实地拍摄,实地观察,使用几何建模的方法来进行场景搭建。工作流程如图3所示。
2.1 virtools开发工具
本系统构建使用的v~tools是一套集创作应用程序、交互引擎和渲染引擎和发布模块于一身的3d虚拟现实开发系统。该系统除了提供给用户方便易用的拖拉模块式构建方法,还为程序员提供了编程sdk、脚本编程语言以及对图形编程语言cetx的支持,以便于程序员开发更适合实际需求的高效解决方案 。
2.2 三维虚拟场景数据库的构建与优化
逼真的三维场景模型是构建高逼真虚拟漫游系统的关键,本系统的场景构造主要按照实地考察结果进行。建模同时还要实现场景细节表现与图形负荷之间的高效平衡。为了使构造的漫游系统达到实时绘制要求,系统采用了场景数据库的层次组织结构、纹理映射、实例化、lod层次细节模型、可见性裁剪等技术方法对场景进行优化。
实体建筑是虚拟场景中的主体部分,也是最重要的场景内容。对实体建筑进行建模与优化的一般步骤是:
(1)获得建模数据。建筑外观与几何形状等要求准确的数据,在没有建筑图纸的情况下主要根据实地拍摄的照片使用3ds max进行 建模。
(2)确定模型的层次结构,由于系统使用的建模工具不具备像multigen建模工具的树状层次结构来管理场景模型”,所以在模型建好后,通过导入到 virtools中进行层次设置。如先按主体分组,再在每个主体中分墙体、门、窗等。直到底层分解到基本图元结构。
(3)去除冗余多边形。描述实体模型表面的数据经常存在冗余现象,这里的冗余多边形主要是指在实体外部观察模型时不可见的部分。例如,楼体的底面、内墙面及楼层之间的连接面等。由于场景浏览时它们处于不可见的位置,去除它们并不影响实体的视觉效果,而消除这些冗余多边形则可以在很大程度上降低场景的复杂度。这里只考了建模时模型的可见性裁剪,对校园进行实时漫游时需根据virtools的sdk实现非基本 图元层次的视见体裁减和 遮挡剔除 ,这样可充分利用gpu的性能实时绘制复杂校园的室外场景。
(4)使用纹理映射。对于门、窗、栏杆等每栋建筑都具有且数量较大的细节部分,一般采取纹理映射的方法,在对应位置的多边形表面上“贴制”纹理图片,用来代替详细的模型。这样处理可以减少模型的多边形数目和复杂程度,提高图像绘制速度和显示速度。只要视点不过于靠近建筑物,纹理映射并不会降低场景的逼真度。
(5)使用 lod技术对几何模型和场景进行简化。校园漫游系统 中对 lod的定义是利 用 3dsmax和 virtools来完成 的 。使用3dsmax~作不同精度的模型,在xrmools中设置调用范围。采用lod模型后,可以实现只在漫游视点接近场景对象时,载入精细模型,其他情形下则可以用低分辨率模型进行替换。
此外,外部景观在漫游场景中也是不可缺少的重要部分,美观、适当的外部景观能极大的增强场景的真实感和逼真度。在本系统的虚拟校园巾,外部景观主要包括:草地、树木、花丛、路灯、凉亭、雕塑、花坛等。为了营造校园场景的真实氛围,在场景构建后期还增加了人群与汽车等实体。
天空及远景模型的构建也是场景中的重要内容。具体做法是在校 区地 形的边缘构造 一个四周闭合 、由若干四边形面组成的“围墙”,通过在“围墙”面上映射相应的纹理,来实现该方向上远景的模拟。而对天空的模拟,如图4所示,采用加盖_个半球笼罩整个地形,在其内表面上映射相应的天气效果纹理来实现。这样,当视点在由地形、边界立面、项面组成的内空间中移动时,加上适当的光照效果,可以使人感到远景、天空所产生的强烈的纵深感。为了加强动态效果,还可以采用纹理变换的方法来实现动态移动的天空云彩。
场景实体模型的构建是按照场景层次结构的划分来进行的,各层次实体景观构建完后需要进行组合集成,最终形成虚拟场景的整体。本系统构建的虚拟校园的场景模型先按照小区域分别集成,然后将各小区域场景集成到地形模型上,可参照图2所示校园平面图进行位置的布局 。
2.3 场景地形的分块调度管理
本系统构建的校园场景较大,这里采用分块调度管理技术 。先将整个地形分割成若干多边 形数较少的小单元地形并存成不同的地形模型文件,再以外部引用的方式分别调用(包括地形上的地物),重新构成一个完成的地形模型。这样可以根据视点所看到的区域,动态地选择小单元地形模型进行调用,不需要调用整个地形模型,能有效地提高系统的吞吐量和场景绘制的实时性。
3 虚拟校园漫游功能的设计与实现
如图5所示,本系统包括漫游模块、3d地图模块及卫星地图模式。其中三维漫游主要包括固定路径漫游、自由导航漫游 、定点漫游、场景导入和编辑等主要功能。 3d地图模式和卫星地图模式则提供用户 以地图拖拉导航的方式形象直观地进行校园漫游。
3.1 虚拟漫游人机交互控 制
人机交互一直都是虚拟现实系统研究中的重要内容。漫游系统中的实时交互性主要表现在两个方面:一是用户对场景中的实体对象能进行某些操作,并且实体对象能:征即以某种形式的变化反馈给用户,响应用户的操作 ;二是当用户的位置与视点改变时,漫游引擎要能够立即调度场景数据库实时生成新的视点画面,并显示给用 户 。
人的行走是日常生活中最普遍的行为,而在漫游系统中它也是最主要的行为。用来控制虚拟环境中视点位置的改变就是漫游系统中的主要交互方式。对视点控制交互方式的设计,主要考虑到方便性问题,即如何提供给用户一种 自然 方便 的观察环境的方式。视点控制要能够模拟行人在虚拟环境中观察场景,在必要时还能以定点方位的方式浏览场景。在本系统中视点用虚拟相机来表示,所以对视点的控制实质足对相机进行设置与控制。通过对相机采用不同的控制方式可以实现不同的漫游方式。在校区漫游系统中,对相机使用以下控制方式:
(1)相机的静态控制。相机本身具有位置和旋转角度属性。当进入漫游系统时,根据需要义初始设置的默认视点绘制场景,用户可通过预设的视点切换校园场景。
(2)相机按固定路径进行漫游。按下响应控制键,将按照设定好的路径 对整个校园进行浏览。如图 6所示为自由导航模式下的校园全景。
(3)自由漫游。以第一人称视角 进行漫游 。
(4)定点漫游。点击相应建筑物名称即传送到对应建筑物。
3.2 导航图控制
如图6左上角所示的导航图是漫游系统中普遍使用的向导工具,一般使用二维地图表示。与三维场景的视图相比,二维地图的优势在于它可以提供更加广阔的视野空间,使漫游者很容易从总体上把握当前所处的位置及周边环境状况。系统采用首先将三维场景渲染成一张二维平面地图,然后利用虚拟相机实现地图的显示、缩放以及二维与三维视点的同步运动。
4 结束语
本文在研究基于多边形的虚拟漫游实时优化等关键技术的基础上,以华北电力大学保定二校区为仿真实例,使用3dsmax、virtools中buildingblock及sdk工具设计并实现了~个具有基本漫游功能及简单场景设置的实时虚拟校园漫游系统。针对本系统实时性及逼真性进一步改进的考虑,今后的工作包括:地形匹配问题;基于遮挡裁剪技 术的高效场景优化问题;基于 网络 漫游的实时性问题。另外,系统功能的进一步完善也是今后的工作。通过功能完 善使之还具备实 时通讯、个人信息管理、信息交流、官方信息发布等功能,甚至能为网络教学提供三维虚拟平台。
参考 文献 :
[1] 汪成为,高文,王行仁.灵境(虚拟现实)技术的理论、实现及应用[m].北京:清华大学出版社,1997.
[2] 马向英,杜威登.基于图像的室内虚拟漫游系统[j] 中国 图象图形学报,2001,6(a):87—90.
[3] 陈勇,马纯永,陈戈.基于 vc/opengl的虚拟海大校园导航系统[j] 计算 机辅助设计与图形学学报,2007,19:263—266.
[4]daniel cohenr.a survey ofvisibility for walkthrough applica- tions[j].ieee transactions on visualization and computergraphics,2003,9(3):412—431.
[5]peter wonka.visibility preprocessing with occluder fusion forurban walkthroughs[r].vienna university oftechnology,techrep:tr一186—2一o0·06,2000.
[6] 刘明昆.三维游戏设计师宝典[m].成都:四川 电子 音像出版中心.2005.
[7]multigen·paradigm inc.creating models for simulations,ver sion 2.4,for windows and irjx[z].2000.