广博吧

位置:首页 > 学习经验 > 毕业论文

小研三维虚拟场景漫游系统的设计与实现

小研三维虚拟场景漫游系统的设计与实现

1、引言
  
  虚拟现实(Virtual Reality,简称VR)是人们对计算机仿真环境进行可视化操作和交互的一种全新方式,与传统人机界面相比,在技术思想上有了质的飞跃。利用计算机生成虚拟环境,通过视、听、触,甚至味觉等多种通道的实时模拟和实时交互[1]。虚拟现实技术融合了计算机图形学、数字图像处理、人工智能、传感器、多媒体技术、网络以及并行技术等多个信息技术分支的最新发展成果,大大推进了计算机技术的发展,已被广泛应用于军事模拟、视景仿真、飞机汽车制造、科学可视化等领域[2]。虚拟漫游是虚拟现实技术的重要应用,实现了对三维景观的数字化和虚拟化[3],在虚拟场景中漫游具有实时性和交互性,使用户产生了身临其境的感受。
  
  2、构建面向漫游的三维虚拟场景
  
  构建虚拟场景是整个漫游系统的基础,模型的质量好坏直接影响了场景的逼真程度和运行的效果。本文采用Maya软件进行建模,得到模型具有很强的逼真度。虚拟漫游系统中场景的构建主要采用几何建模技术进行建模,根据不同的需求,将多边形建模、曲面建模等多种方法结合起来应用。正式建模之前,首先要获得整个场景的地图数据,确定需要哪些建筑物以及每个建筑物所处的位置。本文主要是通过照片和录像资料采集数据,照片由于分辨率较高并且是静态的,通常用来描述场景细节信息,同时也作为纹理贴图的主要参照来源。录像资料收集的范围比较广,更适合记录建筑物之间的相对位置。
  在建模的过程中,可以将场景分为若干个模块,主次分明,重点的建筑物需要对其精细建模,次要的建筑物则可以粗略建模,逐层逐块的利用Maya提供的强大建模功能和修改工具进行建模。需要精细建模的部分尽量采用精确的几何体,而粗略的部分可以使用面片数较少的几何体构建,争取用最少的多边形达到理想的效果。但是,在建好的模型中往往会出现冗余的多边形,不仅增加了面片数,而且在漫游的过程中会出现画面闪烁的现象。为此,可通过删除一些琐碎、细小的部分等方法对模型做初步的简化。另外,可以采用纹理贴图代替多边形表示模型细节的方法来减少多边形的数量,也保证了模型的逼真度。
  
  3、基于LOD技术的场景优化
  
  在虚拟现实的视景仿真中,为提高视景生成的效果,达到实时绘制的要求,本文根据侧重不同,采用精细建模与粗略建模相结合,并运用LOD(level of details)场景简化技术,减少绘制多边形的数量,提高渲染效率。
  3.1、LOD简介
  LOD(Level Of Detail)层次细节模型,是指对同一个场景或场景的不同部分建立多个相似的模型,不同的模型对物体的细节描述不同。同一个物体,观察者的位置不同,所能看到该物体的细节程度也不同。LOD技术根据这一原理,在生成场景时以视点与物体的距离为准则,距离较近的调入精细的模型,距离较远的调入粗略模型。这样既节约了绘制时间,又不影响场景的逼真度,大大提高了计算效率。LOD技术在复杂的三维场景快速绘制、交互式可视化、三维动画、虚拟现实等领域都得到了广泛的应用[3]。
  LOD模型可分为离散的LOD模型和连续的LOD模型。离散的LOD模型是按不同的细节程度,对同一个模型制作多个模型放在场景库中。这样的一系列模型之间互不关联,且数据冗余大,在不同分辨率之间转换的时候会引起视觉上的跳跃现象[4]。连续的LOD模型在一个时间上只保留该层次细节的模型,根据需要利用算法实时生成其他层次细节的模型。这样几乎没有冗余数据,而且视觉上的连续性很好,但是由于算法复杂,模型生成较慢。本文为了保证视觉效果,采用连续的'LOD模型来优化场景,并且只应用于精细模型。
  3.2、在Virtools中实现LOD过程
  在Virtools中实现LOD模型优化的过程包括以下几个步骤:
  1、在Level Manager部分选择需要应用LOD技术的物体,为其添加LOD属性。在添加属性时选择面片数较多的物体,面片数少的或者不重要的物体可不应用LOD技术,这样可以提高优化效率。也可以通过在Scripts脚本中拖放Set LOD Attribute BB来添加LOD属性。