基于虚拟现实技术的虚拟校园漫游系统优化算法研究
虚拟现实 (virtual reality,VR)是一种可以创建和体验虚拟世界的计算机系统,是指利用高性能的计算机生成逼真的视、听、触、嗅觉等一体化的虚拟环境,用户借助必要的专用设备(如数据手套、头盔)以 自然的方式与虚拟环境中的虚拟对象进行实时交互,相互作用,相互影响,从而产生身临其境的感觉.
本文引用地址:http://www.amcfsurvey.com/article/161227.htm近年来,随着计算机硬件技术的加速发展,虚拟现实技术在建筑环境实时漫游中的应用成为人们关注的热点.虚拟校园漫游是城市规划应用的基本功能之一,构造一个虚拟校园漫游系统,必须综合应用计算机图形技术、多媒体技术、传感器技术、显示技术以及网络技术等多种计算机领域的最新技术.文中根据第 2炮兵士官学校规划设计,应用虚拟现实技术开发了基于桌面系统的“虚拟校园实时漫游系统”,该系统以中档 Pc机为硬件平台,对实时漫游系统的各种优化算法进行了深入研究。
1 系统总体结构
为了保证整个场景能顺利、流畅地在普通高档微机上运行,同时达到实时漫游的功能,保证其安全、可靠地运行,按照任务侧重点的不同,可将整个系统分解成场景模型子系统、漫游引擎子系统、输入子系统 、渲染输 出子系统等,它们在功能上相对独立,通过数据接口相互联系,其总体结构如图 1所示.
2 模型及贴图的优化
2.1 三维复杂模型结构的优化
虚拟校园中有许多复杂结构模型,如果模型数据库中多边形数 目超过系统的计算能力,在虚拟场景中漫游时帧处理将无法及时完成,场景变换的平滑性会受到破坏 .为了提高运行系统的实时性,必须对模型进行简化处理,以减少数据库的多边形开销,从下面几个方面对模型进行简化:
1)使用 LOD表达复杂结构模型.虚拟校园中有许多复杂模型必须用 LOD来表达,以使运行系统中的多边形数控制在预算之内,有利于提高运行系统的实时性.
2)用纹理代替多边形表达结构细节.纹理映射能够在不增加多边形数目的前提下提高场景表达的详实程度,用 LOD模型配合一定细节程度的纹理来代替多边形模型会大大降低系统的绘制负载.
3)删除冗余多边形.删除数据库中的冗余多边形可以在一定程度上减少系统中的多边形数量,这些多边形可能是模型内部的细节结构,某些多边形的背面可能是位于某平面上的模型的底面,如地面上内部不需漫游的房屋的底面等.可以用 3DSMAX中的 Optimize修饰器进行简化 ,主要用于减少模型的面数.值得注意的是,Optimize必须在贴图之前进行,否则贴图会发生扭曲.
4)移除多边形的背面.虚拟校园环境中组成绝大多数模型的多边形都是单面可见,3DSMAX能 自动剔除多边形的背面,仅显示其前面,虚拟校园环境中除构成树木模型之外的绝大多数多边形都是单面可见的.为减轻系统的运行负载,提高渲染速度,如果多边形是单面可见,应确保其状态没被设定为 2side.
2.2 纹理映射优化
虚拟校园中所使用的纹理是用数码相机拍摄景物表面细节获得的数字图像来离散定义的,之后用3 DSMAX的纹理工具进行纹理映射和对纹理进行编辑 ;但系统中纹理的大小、数量和分辨率受运行系统中纹理存储空间的限制.所以为了在不降低模拟真实性的前提下,使纹理占据的系统资源(如存储空间)尽可能少,必须对纹理数据进行优化,以提高系统的运行实时性.
从以下几个方面对纹理数据进行优化:
1)纹理大小的合理确定.纹理大小应根据图形加速卡性能、运行系统的内存及人的视觉生理特性等合理确定.为有效节省内存,虚拟校园中所用纹理多数是512×512或更小.高分辨率的纹理只有当虚拟场景需近距离观看时才使用.
2)纹理内部格式分辨率的优化配置.纹理内部格式分辨率决定了如何改变纹理数据各颜色分量的字节配置,以得到不同格式纹理在诸如性能、效率或图像质量等方面的不同效果.虚拟校园中的纹理数据做了如下的优化处理:为节省内存 ,将源数据采集效果较好 的多数 RGB文件 内部 格式分 配为 TX— RGB一5,RGBA文件的内部格式分配为 TX—RGBA一4;有些纹理数据因为采集效果不理想,为保证图像质量,将其内部格式设定为 TX—RGB一12.
3)子纹理的运用.虚拟校园中有些表面的纹理细节差别较小,如不同路段的路面纹理等,采用子纹理进行处理,既避免了明显的雷同,又节省了内存.[
3 漫游引擎子系统的优化
3.1 建立一个好 的层次结构库
由于建立的模型的各个部分在层次图中分别对应一块面板,实时漫游系统将通过层次结构图来展示数据库组成,一个有序的、有条理的层次结构图将使您的模型在实时漫游系统中以最快的速度和最正确的方式显示出来.层次结构库也是一个可视化的数据结构库.这种结构像一棵倒立的大树,根在最上面,树枝、树叶在下面.它将展示出模型的结构组织,各个组成部分以小面板的形式按照一种或多种树形结构排列,这样的方式十分有利于模型的修改.通过在层次结构图中用鼠标点击并拖动小面板来编辑任意一个面,例如,单击便可编辑视图中的任一模型结构体,双击便可得到或修改结构体的属性.而且由于面在组中或实体中时按从左到右的顺序排列,如果其中有一部分是按错误的顺序排列,可以左移或右移面板来调整它们的顺序.在显示时,对于任意一点,Z—buffer将计算这一点附近所有物体到屏幕的距离 ,最近的物体的颜色将被赋给这一点,从而防止在建立面时需要对面进行转换或排序.另外,好的层次结构库能够更加方便地用于场景的挑选.换句话说,此虚拟场景结构可以根据当前视点来挑选场景中的哪一部分是可以看到的.在渲染开始时,对不可视的几何体元素不予处理,从而加强虚拟现实场景的渲染阶段的性能.
评论