基于VRML的虚拟多媒体教室室内场景制作

2013-11-04 03:53马阿曼
长江大学学报(自科版) 2013年31期
关键词:示意图虚拟现实物体

马阿曼

(武夷学院数学与计算机学院,福建 武夷山 354300)

2013-05-22

马阿曼(1981-),女,硕士,讲师,现主要从事图形图像方面的教学与研究工作。

基于VRML的虚拟多媒体教室室内场景制作

马阿曼

(武夷学院数学与计算机学院,福建 武夷山 354300)

近些年来虚拟现实技术和网络技术以及其他相关的计算机技术的迅速发展和互相融合,给VRML技术的发展和深入应用提供了广泛的空间,三维虚拟漫游技术越来越受到人们的重视,其波及的领域也越来越宽广。利用VRML语言制作多媒体教室的室内场景,将多媒体教室场景总共分为9个模块进行场景建模(依次为总的背景节点、整体建模、教室的前边、教室的右边、教室的后边、教室的下边、教室的左边、教室的上边、教室里的物体等),建立好各模块以后通过节点将其联接在一起,实现了用户与虚拟室内场景的交互。

VRML;虚拟现实;多媒体教室;室内场景

虚拟现实是一种对真实世界的模拟,它不仅能对现实环境作逼真的描述,还能使得人们在观察虚拟环境的时候犹如身临其境,可以与之进行交互。参与者能够在虚拟环境中具有自己的视点并且环境能够迅速反映参与者视点的变化[1]。虚拟现实的实现总的可以分为2类:高级的虚拟现实系统以及桌面虚拟现实系统。作为虚拟现实的高级应用,其特征是借助于各种硬件设备(如跟踪传感设备、显示设备、虚拟手设备),通过这种方式实现的系统本身技术复杂,造价也高,用于专门的应用[2]。

下面笔者谈到的虚拟室内场景属于桌面虚拟现实系统,这种系统是无需借助特别的硬件设备,甚至可以仅用软件实现,实现费用低。这种系统往往应用在各种虚拟的演示上,大多借助于网络传播。

1 VRML技术

VRML是一种建模语言[3],用来在Web环境中描述三维物体及其行为,从而在网络环境中构建虚拟场景,VRML文件的编辑需要借助专门的编辑器来编写。VRMLPad是一个功能强大的VRML编辑器,它能高效及便捷的编写VRML文件。如果浏览者要在浏览器中观察VRML场景,需要一种插件,这个插件就是VRML浏览器插件,常见的插件有Blaxxun Contact、CosmoPlayer、Cortona等[2]。

笔者采用VRMLPad编辑器进行编辑并选择使用CosmoPlayer浏览器插件进行场景观察。CosmoPlayer的整个操作画面简洁、方便和快捷,使VRML开发人员和用户都能感受到VRML虚拟现实三维立体中身临其境的感觉。

2 VRML室内场景建模

VRML虚拟现实建模语言的模块化很强。在建立模型时,可以把整个多媒体教室分割成许多部分。如可以把整个多媒体教室的各个部分分别建模,然后通过节点联接在一起。对于教室里的物体,如桌子、椅子、日光灯等,可以分别建模,再用Inline节点联接到教室的大虚拟空间中。

笔者将多媒体教室场景总共分为9个模块进行场景建模(依次为总的背景节点、整体建模、教室的前边、教室的右边、教室的后边、教室的下边、教室的左边、教室的上边、教室里的物体等),建立好各模块以后通过节点将其联接在一起。下面给出部分模块建模结构图及各部分使用的节点信息。

2.1总的背景节点

总的背景节点示意图如图1所示。

图1 总的背景节点示意图

1)WorldInfo(场景信息节点) 是信息化的节点。它提供了VRML程序的标题和认证信息。标题信息可以表达程序的意义,而认证信息则可以提供软件开发者信息、完成时间、版本、版权等信息。

2)ProximitySensor(亲近度传感器节点) 也被称为接近感知器节点,用来感知浏览者即用户何时进入、退出和移动于坐标系内的一个长方体区域[3]。该系统使用该节点感应用户进入和移动VRML虚拟现实场景中的长方体感知区域。当用户穿越这个长方体感知区域时,可以使亲近度传感器启动某个动态对象;当用户离开这个长方体感知域,将停止某个动态对象。

3)NavigationInfo(视点导航信息节点) 系统使用这个节点就可以得到有关用户如何在三维虚拟世界里导航的信息,如以行走、移动、飞行等[3],相当于该节点为用户提供了一个替身且该替身可在虚拟现实世界里遨游驰骋。

4)Viewpoint(视点节点) 该节点决定了观察角度[3]。系统使用它为用户指定了观察的位置信息,如:立体空间的三维坐标、立体空间朝向及视野范围等。

5)PointLight(点光源节点) 是VRML场景效果节点[3]。它可以生成一个点光源,即生成的光线是射向四面八方的。

图2 整体建模示意图

图3 教室的前边示意图

2.2整体建模

整体建模把教室分割成好几部分分别进行建模,即教室前面、教室后面、教室上面、教室下面、教室的左边、右边和中间。整体建模示意图如图2所示。

2.3教室的前边

教室的前边示意图如图3所示。

1)TouchSensor(触摸传感器节点) 该节点是用户与虚拟对象之间相接触型传感器节[3]点。该系统用它来测试用户触摸事件,如对多媒体的触摸的事件。

2)TimeSensor(时间传感器节点) 该系统使用此节点创建一个虚拟时钟,对其他节点发送时间值,并控制立体空间的中的多媒体对象的开始、变化和结果过程的时间,实现多媒体的升降自动变化。

图4 教室的上边示意图

图5 教室里的物体示意图

3)Script(脚本节点) 它可以描述一些由用户自定义制作的检测器和插补器。

4)Route(路由) 是连接一个节点的eventIn入事件和eventOut出事件的节点之间的通道。

5)sound(声音节点) 在该系统中使用该节点为VRML世界中添加了一个声音,并指定声源的位置和声音的立体化表现等。

2.4教室的上边

教室的上边示意图如图4所示。

1)Group(编组节点) 是将多个节点进行组合创建更复杂的立体空间造型。使用它将多个节点进行编组,编组后即视为一个整体,当作一个完整的空间造型来对待。

2)Fog(雾节点) 可为场景添加雾气,制造出空间大气效果,使背景空间具有更好的效果。使用该节点为场景增加真实感。

3)OrientationInterpolator(朝向插补器节点) 为方位变换节点,使用该节点为电风扇制作旋转效果

4)CylinderSensor(单轴旋转型检测器节点) 可以检测鼠标的拖动动作,被鼠标拖动的对象以VRML坐标系中Y轴旋转,但不改变对象的位置。使用该节点来感应用户的拖动鼠标的动作。

2.5教室里的物体

教室里的物体示意图如图5所示。

1)Transform(空间坐标变换节点) 使用该此节点可在VRML立体空间中创建一个局部空间坐标系。利用该节点在VRML场景中创建多个局部坐标系,而这些坐标系可随意平移、旋转和缩放,从而使坐标系上的造型(如座椅)实现平移、旋转和缩放。

2)Shape(空间物体造型模型节点) 使用该此节点制作了教室虚拟空间中的空间造型(如桌椅、风扇、讲桌、门、窗等等)。它定义了一个VRML空间造型所具有的几何尺寸、材料、纹理和外观特征等,这些特征定义了VRML虚拟空间中创建的空间造型。

3)TextureTransform(纹理坐标变换节点) 该系统使用它为立体空间中的三维物体贴图,即通过转动、平移、改变图像的尺寸为座椅表面贴图,实现了三维的物体。

教室的右边、教室的后边、教室的下边、教室的左边等也使用同样的方式建立。

2.6最终实现的场景漫游部分效果

最终实现的场景漫游部分效果,如教室后面往前看以及漫游的效果和教室侧门进入教室这2个角度的效果截图,如图6所示。

图6 场景漫游部分效果示意图

3 结 语

以上就是笔者在学习VRML的过程中,使用VRML语言制作一室内场景的过程以及对VRML的前景用途、语言的编辑、建模过程的一些理解。基于VRML的程序设计,有许多可以改进的地方,如可以使用LOD优化技术快速地渲染VRML三维场景;用2种外置的语言VRML Script和JAVA/JAVA Script,加强VRML的人工智能;在联机环境中加入人体建模,建立多用户环境通讯机制;利用头盔式显示器或其他设备实现沉浸式PC虚拟现实系统[2]等。这些在以后的学习和研究过程中可以进一步掌握。

[1]申蔚.虚拟现实技术[M].北京:清华大学出版社,2009.

[2]张武军.VRML虚拟现实技术基础与实践教程[M].北京:冶金工业出版社,2008.

[3]吴北新.虚拟现实建模语言VRML[M].北京:高等教育出版社,2004.

TP391.9

A

1673-1409(2013)28-0082-04

[编辑] 洪云飞

猜你喜欢
示意图虚拟现实物体
先画示意图再解答问题
深刻理解物体的平衡
黔西南州旅游示意图
我们是怎样看到物体的
REALITY BITES
风口上的虚拟现实
虚拟现实技术向科幻小说借灵感
两张图读懂“青年之声”
为什么同一物体在世界各地重量不一样?
悬浮的鸡蛋