首页 > 范文大全 > 正文

基于VRML的虚拟建筑中场景优化与漫游技术的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于VRML的虚拟建筑中场景优化与漫游技术的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:网络技术和计算机处理速度的迅速发展使虚拟建筑在线实时漫游成为可能。研究了以VRML(虚拟现实建模语言)作为构建虚拟建筑的基本框架,利用较为成熟的三维建模工具3ds Max实现静态虚拟环境的构建方法。为了实现虚拟建筑的在线实时漫游功能,以某校虚拟图书馆为例,对虚拟场景的优化和漫游技术进行了研究,研究结果使漫游过程中场景的渲染速率得到提高。

关键词:VRML;虚拟建筑;三维模型;场景优化;实时漫游

中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)31-7703-03

Research of the Scene Optimization and Navigating Technology of Virtual Architecture Based on VRML

ZHANG Lei

(Dept. of Computer Science & Technology, Ren'ai College of Tianjin University, Tianjin 301636, China)

Abstract: The booming network technology and computer processing speed make virtual architecture online real-time navigation possible. The technique of using the 3ds Max to construct the static virtual environment and VRML(Virtual Reality Modeling Language) to compose the basic framework of virtual architecture was researched. With the purpose of implementing the online real-time navigation of virtual architecture, optimized the virtual scene and researched the design of the interaction in navigation. The conclusions can increase the rendering speed of the 3D scene.

Key words: VRML; virtual architecture; three dimensional model; scene optimization; real-time navigation

VRML是一种网络上使用的三维场景描述语言。VRML的出现使得在互联网上三维图形信息成为可能。它大大地改变了原来万维网上单调、交互性差的2 D 平面世界,创造一个具有沉浸感、交互性的虚拟三维世界[1]。以VRML为基础框架,并利用相关软件可以开发生动逼真的虚拟建筑,通过Internet 就可以观赏到,并使用户有身临其境的感觉,使浏览者足不出户就能够尽情地在虚拟建筑里实时漫游。为了实现虚拟建筑实时漫游所需的功能,可以从以下两个方面进行研究:

1) 虚拟建筑的三维场景的构建和优化,其中包括建模方法的分析,三维模型的构造,纹理数据的处理,三维模型的整合以及场景的优化。

2) 虚拟建筑中交互的实现以及虚拟建筑的视点控制、漫游的实现。

1 虚拟建筑模型的分析与设计

虚拟建筑是一个三维场景,用户可以“走进”建筑中,观赏建筑的环境,身临其境般地参观建筑。为了比较真实的反映建筑风貌及方便参观,模型的建立是整个虚拟建筑的基础[2]。因此首先要根据建筑实际的自然风貌对馆内各个对象进行建模。这些对象包括建筑大楼、道路、桌椅、室内盆景等模型,通过对这些对象的建模搭建出虚拟建筑的基础框架。

1.1 虚拟建筑模型的构建技术分析

由于虚拟建筑是一个规模较大的三维场景,要求的交互也较多,特别是在虚拟建筑开发完成后的再开发中涉及到数据库的使用等问题,所以选择VRML作为虚拟建筑开发的首选技术较为合适[3]。虽然VRML提供了构造虚拟世界的简单方法,但是因为它自身的缺点,在利用它构造虚拟世界的时候,必须手工编写冗长的代码,而且无法直观地对构造的虚拟世界进行即时修改[4]。以建筑为内容的建模工作既复杂且量大,若全部采用编写VRML代码的方法去完成,易出错且效率低。因此在构造虚拟场景时,使用一些三维建模工具可以大大地提高开发虚拟现实系统的效率[5]。选用三维软件3ds Max来搭建基本场景,其优势是能够快速高效构造复杂的三维模型,并设定材质、光效和动画,同时兼有输出.wrl格式的功能,这一点对提高建模效率非常有用[6]。

1.2 虚拟建筑的建模流程

虚拟场景模型是整个实时漫游系统的基础,模型的好坏直接影响运行的效果和场景的逼真度,过多的模型细节会严重降低场景图形的绘制效率,因此在建模过程中往往要在模型的细节度和复杂性之间寻求平衡,必要时用纹理代替模型细节[7]。完全用VRML语言建立复杂的三维模型是相当烦琐的并毫无直观性可言,而3ds Max强大的三维建模功能刚好可以弥补VRML这方面的不足。虚拟建筑系统虚拟场景的建模方法主要有两种,一种是用VRML的编辑器VrmlPad直接建模,另一种是用三维建模软件3ds Max进行建模。为了得到效果逼真、数据量小、适于网络传输的三维模型,将这两种建模方法相结合能达到最佳的性能和效率[8]。如图1所示为虚拟建筑的建模流程。

2 虚拟建筑场景的优化

为了使VRML环境中的模型达到理想的效果,就必须适当地对场景进行优化,这是由虚拟现实的实时性要求决定的,特别是Internet上的虚拟现实。在响应速度和场景的真实性发生冲突时,应牺牲一定的真实性,只要能在视觉上达到基本真实即可[9]。下面某校虚拟图书馆为例,具体介绍其实现方法。

2.1 层次细节技术

层次细节LOD(Level of Detail)技术在尽量不影响画面视觉效果的前提下,通过逐渐简化景物的表面细节来减少景物的复杂性。当物体距观察者近时,采用精细模型;当物体距观察者较远时,使用较粗糙的模型,并在相邻的层次间采用平滑的视觉过渡[10]。

VRML的LOD节点采用了简单的类似LOD的机制的方法,LOD节点为给定的对象指定多种细节层次(Level of Detail)或复杂度,提示浏览器根据用户的距离自动选择对象的合适版本。它主要是以视觉效应为每个物体建立多个相似模型,根据距离由远及近依次使用从粗糙到细致的不同模型描述物体,减少不需要的模型细节,从而加速模型的绘制,达到优化处理的目的[11]。如图2所示为采用LOD技术优化的虚拟图书馆俯视图。

2.2 纹理映射

要让生成的虚拟场景具有很强的真实性,纹理映射是必不可少的,并且纹理映射还可以简化模型。用VRML生成虚拟场景时,也是如此。在构建虚拟建筑场景时,利用VRML提供的BillBoard节点的功能,制作一个最简单的四边形,然后将物体的图像作为纹理粘贴在四边形上,将这个四边形作为BillBoard的children域即可[12]。BillBoard节点能使贴有纹理的二维图形,在浏览者漫游时,始终面向浏览者,因此效果比用大量的多边形来制作好得多。在物体离视点远时,也没有必要用多边形去构造它,这时就可以将物体的图像粘贴在设计好的相应的平面上,并放置在场景中。尽管纹理贴图增加了下载时间和屏幕重画时间,但这比给物体建造细节的代价要小得多[13]。在VRML中,能用来创作纹理图的格式有JPEG、GIF、PNG和MPEG。VRML提供有三种纹理节点,ImageTexture节点、PixelTexture节点和MovieTexture节点,针对纹理还可以用TextureTransform进行平移、缩放、旋转等变换。如图3所示为采用纹理映射技术建立的桌椅模型。

2.3 限制物体的可见性

在VRML中,由于VisibilitySensor节点可以用来检测用户何时能看到场景定的区域,因此实现这种方法的最直接途径是对用户限制可见距离。但简单的采用这种方法,会使浏览者感到不真实,因为当浏览者到达物体的可见距离时,物体会突然出现在面前。为了改善这种不理想的效果,可以对VRML的Color节点和Material节点进行编程,使得远处的物体具有较低的色素值和简单的纹理,当接近它们时再变得明亮些,这样就会自然些。另外,由于VRML提供的ProximitySensor节点,可以检测到用户距被感应物体的范围,只有用户距离物体较近,在视觉范围之内时,才使该物体可见,否则不对该物体进行渲染,这样就减少了渲染对象的数量,提高了渲染速度。

3 虚拟建筑的交互与漫游

虚拟建筑中的三维交互是用户与场景的交互。它是利用VRML来搭建虚拟空间使用户产生身临其境的感觉,利用VRML的节点及相应技术来接受用户的输入信息以及做出相应的反馈,来增加虚拟场景的交互性,从而实现虚拟建筑的交互功能[14]。

3.1 虚拟建筑的视点控制

在VRML虚拟世界中,并不是每一场景都是浏览者所要看的,浏览者往往只会寻找自己感兴趣的东西,但寻找有用的东西需要花费大量时间和精力则是浏览者不想的,这就涉及到VRML的视点控制。

在VRML中的视点就是一个所浏览空间中预先定义的观察位置和空间朝向,在这个位置上通过这个朝向,浏览者可以观察到虚拟世界中相应的场景。

在VRML虚拟世界中可以创建多个视点,以供浏览者选择。不过浏览者在任何时候,在一个虚拟空间中只可以有一个空间视点可用,也就是说不允许同时使用几个视点,这与人只有一双眼睛是相符合的。视点绑定可以使浏览者控制多个可用的视点,并可以从一个视点切换到另一个视点。

从一个视点切换到另一个视点有两种途径,一种是跳跃型的,一种是非跳跃型的。跳跃型视点一般用来说明那些在虚拟世界中重要的、有趣的和希望浏览者迅速看到的场景,它们提供了一种快捷方便的机制,使浏览者不必浏览每一个虚拟场景模型。而非跳跃型的视点一般用来建立一种从一个坐标系到另一个坐标系的平滑的转换,称为快速浏览。

3.2 虚拟建筑的漫游

漫游分为自动漫游和交互式漫游两种。自动漫游实际上就是虚拟建筑中的动画演示,对于导航路线的指定、运动控制和视点控制等主要利用触发器和插值器技术来实现。利用VRML的Viewpoint节点直接控制视点的方向,同时借助TimeSensor和PositionInterpolator传感器和插补器节点来实现自动漫游。其步骤如下:

1) 通过Viewpoint视点定义视角。

2) 通过PositionInterpolator节点定义自动漫游的位置坐标,在该节点中定义一系列的点的坐标,然后这些点相连接,就组成了漫游时行走的路线。

3) 通过Orientationlnterpolator节点定义自动漫游的朝向,即用户漫游时的视角方向。

4) 定义时间传感器TimeSensor,并设定其loop域为true,实现循环输出。

5) 将时间传感器的fraction_changed出事件分别传送给PositionInterpolator节点的set_fraction入事件和Orientationlnterpolator节点的set_fraction入事件。

6) 然后将PositionInterpolator节点的value_changed出事件和OrientationInterpolator节点的value_changed出事件分别传送给ViewPoint节点的set_position入事件和set_orientation入事件,实现自动漫游。

当浏览者进行交互式漫游时,浏览器会创建一个浏览者的化身,该化身是不可见的,浏览器所展现的景物便是以化身的视角来观察的。可以通过VRML的NavigationInfo节点控制浏览的状态以达到实现交互式漫游的目的。NavigationInfo称为导航节点,可以通过它对浏览速度、浏览方式以及浏览器自身的大小等进行设置[15]。如图4所示为VRML浏览器提供的某校虚拟图书馆建筑内部的漫游选择。

4 结束语

本文对虚拟建筑的三维场景的构建与优化,虚拟建筑的交互实现与实时漫游进行了研究与设计,并实现了整个场景的网上漫游,具有真正意义的分布性、三维性、交互性、多媒体集成性。为了实现实时性对三维场景进行了优化,如层次细节技术、纹理映射等以减轻浏览器的负担,提高场景的浏览速度。研究了虚拟建筑交互的实现,实现了虚拟建筑的自动和交互式漫游。进一步提高浏览器的渲染速率以及提高虚拟建筑的显示速度是今后虚拟建筑在线实时漫游研究的努力方向之一。

参考文献:

[1] 苏建明,张续红,胡庆夕.展望虚拟现实技术[J].计算机仿真,2004,21(1):58-62.

[2] 万剑华,潘正风,李清泉.基于vrml虚拟城市的建立[J].测绘通报,2002,7(5):38-42.

[3] 黄涛.VRML虚拟建筑―原理、工具、方法[M].北京:中国建筑工业出版社,2008:13-44.

[4] 郭凤英.虚拟现实技术在网络教学中的应用[J].北京联合大学学报,2004,18(3):28-33.

[5] NADEAU D R.Building Virtual Worlds with VRML[J].Computer Graphics and Applications,1999,19(2):18-291.

[6] Campagna S.Enhancing Digital Documents by Including 3D-Models[J].Computer and Graphics,1998,22(6):655-666.

[7] 刘文亮.基于VRML的虚拟现实中三维建筑技术的研究[D].武汉:武汉理工大学,2001.

[8] 邹沐昌,代玉仁.用VRML现实虚拟燕大校园的浏览设计[J].燕山大学学报,2001,25(4):290-292.

[9] 肖立,尚涛.虚拟现实技术及其在城市建设中的应用[J].武汉大学学报:工学版,20016(3):41-52.

[10] 刘旭东,陈谊.VRML场景优化问题研究[J].北京工商大学学报:自然科学版,2006,24(4):41-44.

[11] 万剑华,郑红霞.基于VRML的虚拟校园中三维景观建模[J].计算机应用与软件,2005,3(2):55-62.

[12] Tan Manling,Zeng Xin.The Use of VRML in Assessing Color in Soft Drink Packaging Design[J].Information Visualization,2004,6(2):88-92.

[13] Kim Sung-Ye,Choi Byoung-Tae.High Dynamic Range Image Texture Mapping based on VRML[J].Lecture Notes in Computer Science,2006,4(1):33-44.

[14] 冯开平,左宗义.基于Web的虚拟现实漫游系统中的交互技术[J].工程图学学报,2001,22(3):34-37.

[15] 王琳,冯正进.利用VRML构造交互式虚拟现实环境[J].计算机应用,2000,20(9):14-17.