纳金网

标题: [论文分享]利用Web3D技术开发基于Web的虚拟实验环境 [打印本页]

作者: 铁锹    时间: 2012-9-21 11:13
标题: [论文分享]利用Web3D技术开发基于Web的虚拟实验环境
利用Web3D技术开发基于Web的虚拟实验环境



【摘要】Web3D技术是基于互联网的3D图形渲染技术。目前,网页的大多数动画都是以flash为主导的2D动画,但随着Web3D技术的进步,网络带宽的快速增长,相信网页上的3D图形动画应用会出现不断丰富与繁荣的局面。本文试图讨论Web3D的主要关键技术,并介绍我们在开发基于Web的虚拟仿真实验环境时所采用的技术思路和方案。

【关键词】虚拟实验环境;Web3D;vrml;X3D;Wirefusion

【中国分类号】G424.31

【文章标识码】A

【文章编号】l008—76镐(2007)01一∞49一0





一、研究背景



2006年7月北京电大设备与实验中心承担了北京市教委的“基于Web的路由器配置虚拟仿真实验环境研究与实现”科研项目。该项目拟利用Web3D技术开发基于互联网的虚拟仿真实验环境。



Web3D技术可以理解为基于互联网的三维图形渲染技术,它实际上是虚拟现实技术在互联网中的应用,因此又与虚拟现实技术有着直接的联系。虚拟现实技术是利用三维图形生成技术、多传感交互技术以及高分辨显示技术,生成逼真的三维虚拟环境。进入虚拟空间的使用者可以感知和操作虚拟世界中的各种对象,进行实时交互,从而获得身l临其境的感受和体会。



按复杂程度划分,虚拟系统分为沉浸级和桌面级两种。沉浸级虚拟系统比较复杂,使用者必须配戴头盔、数据手套等传感跟踪装置,才能与虚拟世界进行交互。由于这种系统可以将使用者的视觉、听觉与外界隔离,用户可排除外界干扰,全身心地投入到虚拟现实中去,完全沉浸到虚拟世界中。但系统设备价格昂贵,难以普及。桌面级虚拟现实系统由一台普通计算机组成,使用者通过键盘、鼠标便可与虚拟环境进行交互,感受虚拟场景。其结构简单、价格低廉,易于推广。



在教育领域,虚拟现实技术具有广泛的作用和影响。亲身经历、亲身感受比抽象的说教更具说服力。主动的交互与被动的观看,有质的差别。如何将虚拟现实技术应用于实验教学,为学生提供一个形象逼真、可以进行交互操作的虚拟仿真实验环境是我们研究的方向。



二、需求分析



我们力图开发的虚拟系统的使用者是分布在北京市各城郊区县的北京电大学生。系统建立的目标是为学生提供一个虚拟仿真实验平台,使他们能够通过互联网完成中央电大教学大纲所规定的实验内容,尽量减少由于时间、地点、实验场地和设备所造成的制约。



因此系统应是简单的桌面级虚拟系统,学生使用普通个人电脑便可以通过互联网访问虚拟仿真实验服务器,进入虚拟仿真环境。此外,为降低学生所使用的客户端计算机的软件配置要求,实验者应该只需使用Web浏览器便可进入虚拟环境,一般无需下载、安装其它应用软件。虚拟仿真实验服务器应能实时响应用户的操作,从而与客户端实现交互。



内容方面,系统应该把实验设备、教学内容、教师指导和学生的操作有机地融合为一体。



根据需求分析我们认为,利用Web3D技术开发基于Web的虚拟实验环境是一种合理的技术选择。



三、Web3D相关技术简介



Web3D是上世纪90年代末期出现的互联网三维图形渲染技术。在它的发展过程中,出现了一系列标准、技术、产品和应用。以下简要说明几种主要关键技术:1.vrml一互联网3D图形的开放标准现在的绝大部分网页实际上都是HTML文本,但是HTML并不支持三维造型和动画。为了满足互联网上三维应用需求,1996年VRML1.0应运而生。VRML的全称为Virtual Reality ModelingLanguage,是因特尔上基于Web的具有交互性的虚拟现实建模语言,用来描述3d场景中的几何对象的尺寸、形状、色彩、材质、灯光、动画及其交互操作。其应用范围极广:工程和科学可视化、多媒体、娱乐游戏、互联网3D图形、教育和虚拟社区等。1997年4月经国际标准化组织ISO审议通过,VRML成为国际标准。与HTML相同,vrml文件也可以用文本编辑器进行编辑,也可以作为标记嵌入到普通HTML文件中。以下是一个简单的VRML文件示例。该文件在IE浏览器上的显示效果如图l。





2.互联网3d图形实时渲染引擎web浏览器是专门为HTML文件而设计的,并不支持VRML标准。为了能在流行的web浏览器上直接运行具有3D效果的VRML文件,许多互联网3D图形软件厂商开发了多种插件。这些插件就是实时渲染引擎,其作用是:解释并翻译实时场景模型文件的语法,实时渲染从服务器端传来的场景模型文件,在网页访问者的客户端逐帧、实时地显示3D图形。用户在观看3D场景前要先下载实时渲染引擎并安装在IE浏览器上。实时渲染引擎的大小、图形渲染质量、渲染速度、如:图1中的IE浏览器已经安装了俄罗斯Parallel-graphics公司的cononaVRML实时渲染引擎。



插件大小1.33M,图形质量较好。在交互性方面,该插件支持通过鼠标拖动控制3D对象完成位移、旋转等操作,此外还提供了13个交互按钮,丰富了实时交互方式。



3.新一代互联网3D图形的标准——X3D1997年以后,由于用户对互联网3D图形的需求并不急切,加之网络带宽瓶颈以及vrml技术本身过于庞大等原因,VRML技术的进展远没有达到预期。与此同时,3D图形界出现了很多新的技术,这些技术并没有完全遵循vrml97的标准,相反它们拥有自己的开发软件和渲染引擎。为了改进和发展vrml,1998年vrml联盟改名为Web3D联盟并由此提出了Web3D的概念。2000年春,Web3D联盟完成了vrml到x3d的转换。x3d整合正在发展的可扩展标记语言xml(ExtensibleMarkupLanguage)、java、流技术等先进技术,使其具有更高的渲染质量、更快的传输速度、更强3D计算能力。使用xML语法,这就意味着x3d是可扩展的,任何开发者可以根据自己需求扩展其功能。x3d与vrml97向后兼容,即x3d能提供标准vrml97浏览器的全部功能。x3d的主要任务是把vrml的功能封装到一个轻型的,可扩展的核心之中。



4.三维场景建模技术vrml、X3d语言的文件可以用任何文字编辑程序代码。以VRML为例,用windows中的记事本就能编辑VRML三维场景模型文件(其扩展名是.wd)。但手工书写.wrl文件是非常繁琐而复杂的工作,对于大型场景模型几乎是不可能的。为了制作复杂的Web3D图形的场景模型通常借助传统的专业三维建模软件,如3DSMAX、maya等。以使用3DSMAX)【编辑VRML文件为例,其基本步骤是:首先利用3dsMax强大的建模功能构造场景模型,然后借助预先安装到3dsM娃中的输出插件,将场景模型导出为符合VRML97标准的.wd文件。针对网线制作这一主题,我们制作了试验性场景。该场景用3dsMax建模,导出为.wd文件后,可以在浏览器中运行。图2是该场景在IE浏览器中的显示效果。当然,许多互联网3D图形软件厂商都有自己的文件格式和相应的实时渲染插件,同样,也有它们自己的3D制作工具。





5.Java3D技术Java以其平台无关性在互联网上显示出强大的影响力。同样,sun公司对互联网3D图形应用也给予了高度关注。Java3D就是sun公司提供的用来开发三维图形和开发基于Web的3D应用程序(applet)的编程接口,它与OpenGL、Direct3D,在软件等级上处于同一级。通过调用Java3D提供的API可以在应用程序中定义几何实体、材质、纹理、灯光和动画,从而构造具有实时交互能力的三维虚拟场景。



使用Java的重要理由之一是平台无关性。Java虚拟机(JVM)对于实现平台无关性是必不可少的。Java应用程序以字节流的形式从服务器下载到本地计算机,然后由JVM完成对Java应用程序的解释执行。不同的平台有它自己JVM,处理与平台相关的功能。因此,只要支持JvM,就能运行Java小程序。两种最有名的浏览器Netscape和IE都支持JVM。所以,用Java制作的3D图形几乎都可以在上述浏览器上显示,无需象VRML那样在浏览器中安装插件才能渲染。但是,微软宣布在它的windowxP中不再预装JVM,其目的是否出于商业竞争我们不得而知,但由此引起的麻烦是在windowsXP中要运行基于Java的应用,就必须下载安装JVM,这显然不比安装一个插件更简单。



四、工程技术方案的选择



目前,Web3D处于战国时代。flash作为2D动画在互联网上的成功的关键是只有唯一的技术和标准。而现在的Web3D图形领域却有几十种可供选择的技术和解决方案,多种文件格式和渲染引擎的存在是Web3D图形在互联网上应用的最大障碍。



VRML标准已近退潮,而x3D标准能否独挑大梁却尚存疑问。虽然x3D是一个成熟的标准,得到许多有影响力的企业和大学的支持。但曾经参与x3D标准研究的硬件巨头Intel公司却告退出,并于2002宣布单独成立Web3D/cAD工作组,目的在于建立一个统一、开放的文件格式,用于在Web上显示实时的3D图形。无独有偶,软件巨头微软也许同样是出于商业利益的考虑,迟迟未对x3D表态。目前还看不出谁能一统天下。



选择技术方案时,通常要考虑是否是主流技术,是否代表发展方向。但面对这样的尴尬局面也许不该过多地去纠缠谁能最后胜出,毕竟工程方案要以需求为核心,要更多地把精力放在比较技术的短长、拿捏实现的技术难度和成本上。



经过比较我们发现,VRML是一种过时的标准,运行需要安装插件,界面也比较乏味。x3D是新的Web3D标准,但开发工具尚不丰富。Java3D程序设计层次较低,编程较复杂。最终我们选择了wireFusion。



WireFusion是瑞典Demicmn公司提供的互联网3D图形开发软件。它基于Java技术,用可视化的方式完成web3D场景中的交互动作设计,支持x3D、VRML标准,可以将x3D、VRML转换成Java3D对象。借助wireFusion,可以利用VRML、x3D在三维造型方面的优势,结合Java3D、Java在交互性方面具有的特长,构造交互式3D虚拟环境。



需要说明的是,WireFusion无法独立完成整个虚拟环境的建设工作。开发人员必须首先深入理解VRML或x3D,同时还必须能够熟练使用3dsMax等三维建模工具。这是使用wireFusion的前提条件。



五、如何使用wireFusion开发虚拟环境



wireFusion是采用Java3D技术的可视化开发工具,但它本身并不具备3D建模能力,不能单独完成3D虚拟环境的构建工作,其主要功能是为各3D对象设计交互相应动作。可以将WireFusion理解为web3D领域的“后期制作”软件。以下将讨论使用wireFusion构造交互式3D虚拟环境的主要工作步骤、文件格式转换和工作机制三个问题。



1.主要工作步骤依据主题设计场景;使用3D造型软件构造3D场景;将3D场景导出为x3D或VRML文件格式;将x3D或VRML文件导入wireFusion工程;在WireFusion中,用可视化的方法进行动作设计;发布WireFusion工程,生成JavaApplet及相关的Html、JavaScript文件。



2.WireFusion的文件格式转换



上述步骤D的技术本质是将x3D或VRML文件转换为w3F文件。



wireFusion采用基于Java的w3F文件格式来描述3D场景。将x3D或VRML文件导人wireFu8ion工程,实际上是将x3D或VRML场景、节点、域等元素转换成Java的类。



例如:在WireFusion中,用WF3DScene类表示x3D、VRML中的场景图(SceneGmph)。wF3DScene类中包含一系列节点,相当于根结点。



.用wF3DNode类的实例来表示x3D、VRML中的节点(Node8)



.用WF3DField类的实例来表示x3D、VRML中的域(Fields)。



3.WireFusion的工作机制



wireFusion的主要工作在步骤E中完成,即用可视化的方法进行交互动作设计。



WireFusion采用消息传递和事件驱动的方式处理3D场景中各对象的互动关系。场景中的每个对象都有特定的出事件和人事件。出事件是产生事件的逻辑输出端,是对象向外界报告自身状态改变的出口;人事件是对象接收事件的逻辑接受器,会导致对象的状态发生改变。一对出、入事件构成一个完整的事件路由。



图3在wirefusion中设置事件路由



图3是一个在WireFusion中编辑3D场景事件路由的示例。图中共有6个不同的对象,分别为3D场景“3D1”,动画“A1”以及四个按钮“up”、“Down”、“kft”和“Right”。还有6条事件路由(1~6),其出、人事件如表1。



分析图3和表1不难想象该3D场景的交互动作。当鼠标单击四个按钮中的某一个时,场景会相应产生上下左右的位移。当在场景中的特定点按下鼠标时,三维动画开始播放。



在wireFusion中对这些事件路由进行设置都是以可视化的方式进行的,每一条事件路由都对应一条线,这也正是软件名称“WireFusion”中“Wire”的含义所在,由此可见事件路由的设置在wireFu8ion中的重要地位。



我们的设计目标是将实验设备、教学内容、教师指导和学生的操作有机地融合为一体。而wireFusion制作的3D场景能够很容易的在普通2D网页上发布,这一点对我们来说是十分重要的。将知识要点、题库、帮助等文本、图片素材与3D虚拟场景有机融合,相信一定能获得很好的教学效果。



五、总结



在构造基于Web的虚拟仿真实验环境的过程中,首要任务是深入理解实验内容,并结合学生的认知心理和学习特点,设计合理、逼真、美观的实验场景。使三维场景能够体现教学意图,满足学生的需要。这一步工作是重中之重。完成场景设计后,应使用3dsMa】【、Maya的专业3D造型软件完成建模,并导出为x3D或VRML文件。



然后将x3D或VRML文件导人wireFusion,完成交互动作的制作,生成JavaApplet小程序。



最后完成网页设计,将3D虚拟实验场景与文本、图片等2D网页元素结合在一起,为学生提供一个丰富、逼真、可交互的实验环境,使他们通过互联网,仅使用浏览器就能超越时间、空间的制约完成实验操作,加深对所学知识的理解。



目前,Web3D面临着需求不旺盛、标准不统一和网络带宽有限等问题的困扰,其发展远比想象中的困难。但“食欲是在咀嚼中产生的”,随着新的应用的不断出现,相信越来越多的用户会对更逼真、能交互的Web3D感兴趣,相应的技术也会越来越成熟。



【参考文献】



[1]刘运增:“互联网上的3D图形技术——Web3D'’,《计算机与网络》,第lO期,2003/05/26

[2]刘运增:“Web3D——图形技术革命的中心”,《计算机世界报》,2005[3]黄文丽:《VRML语言人门与应用》,中国铁道出版社,2003年9月第1版[4]黄心渊:《虚拟现实技术与应用》,科学出版社,1999年7月第l版



本项研究得到了北京市教委2006年高等学校教育教学改革立项项目“基于web的路由器配置虚拟仿真实验环境研究与实现”的支持,谨此致谢。



作者简介:李笑涛,北京广播电视大学设备与实验中心,工程师,研究方向计算机应用;唐士亮,北京广播电视大学设备与实验中心,工程师,研究方向计算机应用;万迪文,北京广播电视大学继续教育学院,讲师,研究方向计算机应用。



更多论文分享尽在Web3D纳金网www.narkii.com




欢迎光临 纳金网 (http://wwww.narkii.com/club/) Powered by Discuz! X2.5