基于X3D的虚拟校园漫游系统设计与实现
由于整个校园场景中的各个物体是通过相对位置关系组织起来的,因此需要确定某一个物体作为基准和参照来确定其它物体的位置。本系统以学校正门作为参考标准。拼合方法如下:
1.根据总平面图,利用一个 Box 节点来作为学院的整体地表,更改其参数,使得它的大小和学校的总面积相同。
2.以学校正门为参考点,通过电子地图(如百度地图)测量其他建筑距参照点的距离,根据比例,用Transform节点改变实体位置。
3.使用Inline内联节点,将创建好的各实体整合到校园中确定的位置上,最终完成虚拟校园的整体建设。
拼合时,单独建立一个X3D文件,用于拼合各实体。在本系统中,以school.x3d作为主程序的入口。运行school.x3d,系统的运行界面如图20所示。
图20 系统运行截图
4.4 系统的测试与优化
软件测试的目标,就是为了更快、更早地将软件产品或软件系统中所存在的各种问题找出来,并促进开发各类人员尽快地解决问题,最终及时地向客户提供一个高质量的软件产品,使软件系统更好地满足用户的需求,同时满足软件组织自身的要求。
4.4.1 系统测试环境
为了让本系统能够在较普通的机器上顺利的运行,系统测试所选用的计算机为中等配置,具体的配置如下:
处理器:Intel(R) Core(TM) i5 M430 @ 2.27GHz 双核 内存:4GB 硬盘空间:500GB
31
基于X3D的虚拟校园漫游系统设计与实现
显卡:512MB独立显存
网卡:集成10/100/1000以太网卡 操作系统:Windows 7 SP1 网络协议:TCP/IP
浏览器:Internet Explorer 8.0 以上 插件:BS contact8.0
4.4.2 测试结果与优化
测试的主要内容为本系统的浏览效果。本系统运行的结果表明本系统基本能正常且良好的运行,用户能以不同的视点从不同的角度进行浏览。
但是测试过程中主要出现了以下两个方面的问题:一是机器配置不高,造成了部分场景加载显示时有点延迟;二是当摄像机出现在场景对象较多的地方时,运行不够流畅。 针对测试过程中出现的问题,可对系统进行优化。优化的时候遵循了“速度优先,兼顾细节”的原则,在保证速度的前提下,再尽可能地满足细节需要。优化的方法和步骤如下: 1.在不影响模型外观的情况下,尽量减少模型的面数。对于建筑物,由于其外观多为方形,因此,尽量采用简单的立方体模型,在一些细节的地方则可以利用新的立方体重叠在上面,这样就不需要对原有的立方体进行分割,从而减少面数[22]。对于建筑物的门和窗户等细节,都不在模型中刻画,直接用一个面,而是通过贴图的方法来实现门窗的效果显示。 2.图片的优化。纹理图片大小的合理确定,尽量避免使用高像素的图片。虚拟校园中有些表面的纹理细节差别较小,如不同路段的路面纹理,栅栏纹理等,采用子纹理进行处理,既避免了明显的雷同,又可以节省内存[23]。
3.尽量使用 DEF 和 USE。对于相同造型的节点,第一次使用时用 DEF 属性命名,以后就可以使用 USE 属性引用这个命名的节点。USE 语句不会建立这个节点的副本,而是把同一个节点再次插入场景图,这样既可以简化代码,又可以使得相同的模型只需要在内存中保留一份占用空间,有效的减小系统的开销。
4.摄像机的合理设置。因为虚拟化身在虚拟场景中观察到的物体实际上是由摄像机对象来确定其所见范围的,所以合理的设置摄像机的可视距离,减少一次进入观察范围的模型数目,使得每一帧显示处理的模型在合理的范围内,这样可以有效的减小系统的开销。在X3D中,可通过NavigationInfo(视点导航)节点中的visibilityLimit阈值实现。 5.使用LOD(细节层次)技术。空间的细节层次原理是通过空间距离的远近来展现空间造型的各个细节。X3D中的LOD节点实现了这一功能,它可以对不同景物做出不同细致程度的刻画,近景精细刻画,远景初略刻画。
以下是使用后三种方法优化前后系统的加载速度及流畅程度的结果对比,如表1所示。
32
基于X3D的虚拟校园漫游系统设计与实现
所用到的方法 DEF、USE 设置 visibilityLimit 使用LOD 测试结果 初次加载速度(秒) 流畅程度 否 是 否 否 是 否 否 是 否 是 否 否 否 是 是 表1 优化前后结果对比
12.2 10.3 8.7 8.5 6.2 不流畅 较不流畅 一般 一般 较为流畅 VisibilityLimit阈值对模型表达效果有较为重大的影响,值太小,稍微远一点的景
物显示不出来,会有景物丢失的感觉;值太大,又达不到优化的效果。因此应该在效果和速度间取得平衡。
当VisibilityLimit设定成40时,较远的景物科技楼(图片左上角)无法显示,如图21所示。
图21 当VisibilityLimit设定成40时效果图
当VisibilityLimit设定成45时,较远的景物科技楼(图片左上角)无法全部显示,如图22所示。
33
基于X3D的虚拟校园漫游系统设计与实现
图22 当VisibilityLimit设定成45时效果图
当VisibilityLimit设定成50时,较远的景物科技楼(图片左上角)可以全部显示,经试验,此值为本系统最佳距离,如图23所示。
图23 当VisibilityLimit设定成50时效果图
经过优化以后,再次测试时,画面显示的效果有了明显的提高,虽然加载仍有延迟,但是相对未优化时有很大的改观。
34
基于X3D的虚拟校园漫游系统设计与实现
第五章 工作总结
虚拟校园漫游系统是计算机技术、虚拟现实技术、图形图像显示技术等诸多高新技术的综合运用,在高校的虚拟校园建设中发挥着重要作用。本文在虚拟现实技术的基础上讨论了虚拟校园的设计与实现。以下是对本人所做工作的总结和展望。
5.1 总结
通过不断研究摸索,充分发挥多种创作工具的优点,以深圳大学为对象的虚拟校园漫游系统基本完成。本课题基于X3D标准,结合实例给出了校园场景的建设与优化方法,实现了用户在虚拟场景中的漫游。本系统经过运行测试,运行结果基本达到了设计目标。
在对本课题的研究和开发过程中,完成了以下几个方面的工作: 1. 研究了虚拟现实的相关知识与技术。
2. 基于X3D技术,综合运用多种方法,完成了虚拟校园场景的设计与建设。 3. 实现了虚拟校园的漫游功能,用户可以通过鼠标和键盘在虚拟校园场景中漫游。
5.2 进一步的工作
虽然本系统实现了虚拟校园的漫游功能,但由于水平与时间上的限制,离完善仍有不少差距。需要改进与完善的地方如下:
1.增加交互功能,比如添加远程教学,虚拟实验室等项目,使得系统除了浏览功能外还兼具教学功能。
2. 需要开发更多特殊效果,如动态水流、雨/雾天气效果等。
3. 进一步完善模型模型的建立,美化模型的表现效果,使之更为逼真。
4. 优化代码及模型的构建,降低系统对计算机资源的占用,提高系统的渲染速度。
35