Web3D的核心技术及实现

来源:互联网 发布:paxos算法 维基百科 编辑:程序博客网 时间:2024/06/04 19:14

马颖峰 陈华chenhua1982618@tom.com

陕西师范大学 新闻与传播学院  陕西 西安 710062

【摘要】近年来Web3D已经成为Internet上3D文件的标准,围绕Web3D的实现技术及工具的开发受到业界的普遍重视,运用不同的开发工具和技术来建构网上三维环境,也引起网络教育应用研究者的关注。本文对Web3D的核心技术及其网络传输和呈现特点进行了比较,对实现技术进行了归类研究,并结合技术特点指出了开发和应用时应该注意的问题。

【关键词】Web3D;X3D;核心技术;实现技术

Web3D Core Technology and Realization

Ma Yingfeng   Chen Hua

Shaanxi Normal University  College of News and Media  Shaanxi Xi'an 710062

Abstract :Recent years Web3D already became the 3D document standard on Internet, the field takes generally about the realization technology and the tool development of Web3D,constructs the three dimensional environment on the net by the different development tools and the technology, also caused the attention of the application   of network education researchers. This article to carry on the comparison about the Web3D core technology , its the network transmitted and presents the characteristic, and has conducted the classification research to the realization technology, and has pointed out what questions should pay attention when development and application by union technology characteristic.

Key words: Web3D; X3D; Core technology; Realization technology

前言

网络多媒体技术的出现使不受时间、地域、对象限制的学习活动成为可能,从而改变了传统的教学方式,已成不争之实。尽管以网络技术为支撑的网络教育取得长足的发展,但是,网络教学还无法为学习者提供象传统教学那样的真实体验,使网络教学的效果受到质疑。所以,有人认为“在Internet环境下如何为学习者构建丰富的多媒体教学资源和有效的学习环境,这是网络教学所面临的主要难题”。近年,提高网络传输效率方面的努力从未间断,且多数已实用化,以3D图形生成和传输为基础的网络三维技术(即Web3D技术)便是代表。由于Web3D技术以其特有的形象化展示、强大的交互及其模拟等功能,增强了网络教学的真实体验,而受到关注。

一、关于Web3D   

Web3D可以简单的看成是Web技术和3D技术相结合的产物,是互联网上实现3D图形技术的总称。从技术的亲缘关系来看,Web3D技术源于虚拟现实技术中的VRML分支,1997年,VRML(VRML Consortium)协会正式更名为Web3D(Web 3D Consortium)协会,并制定了VRML97新的国际标准。至此,Web3D的专用缩写被人们所认识(这也是常常把Web3D与虚拟现实联系在一起的原因)。

2004年被ISO审批通过的由Web3D协会发布的新一代国际标准—X3D,标志着Web3D进入了一个新的发展阶段。由于X3D把VRML的功能封装到一个可扩展的核心之中,能够提供标准VRML 97 browser的全部功能,且有向前兼容的技术特征;此外,X3D使用XML语法,从而实现了与流式媒体MPEG-4的3D内容的融合;再者,X3D是可扩展的,任何开发者都可以根据自己需求,扩展其功能。因此,X3D标准受到业界(如3Dlabs,TI Technologies, Blaxxu,Nexternet,OpenWorlds,ParallelGraphics,Sony Electronics等)广泛支持。

X3D标准使更多的Internet设备实现生成、传输、浏览3D对象成为可能,无论是Web客户端还是高性能的广播级工作站用户,都能够享受基于X3D所带来的技术优势。而且,在X3D基本框架下,保证了不同厂家所开发的软件的互操作性,结束互联网3D图形标准混乱的局面。目前,Web3D技术已经发展成为一个技术群,成为网络3D应用的独立研究领域,也是网络教学资源和有效的学习环境设计和开发中受到普遍关注的技术。

二、Web3D的核心技术及其特征

目前,走向实用化阶段的Web3D的核心技术有基于VRML、Java、XML、动画脚本以及流式传输的技术,为网络教学资源和有效的学习环境设计和开发、组织不同形式的网络教学活动,提供了更为灵活的选择空间。由于采用了不同的技术内核,不同的实现技术也就有不同的原理、技术特征和应用特点(见表1)。

表1:Web3D的核心技术及特征对比

Web3D的

核心技术

实现原理

技术特征

应用特点

基于

VRML技术

服务器端提供的是VRML文件和支持资源,浏览器通过插件将描述性的文本解析为对应的类属,并在显示器上呈现出来。

通过编程、三维建模工具和VRML可视化软件实现;在虚拟三维场景展示时,文件数据量很大。

高版本浏览器预装插件;文件传输慢,下载时间长;呈现的图像质量不高;与其他多技术集成能力及兼容性弱。适合于三维对象和场景的展示。

基于

XML技术

将用户自定义的三维数据集成到XML文档中,通过浏览器对其进行解析后实时展现给用户。

通过三维建模工具和可视化软件实现;在三维对象和三维场景展示时,文件数据量小。

需要安装插件;文件传输快,可被快速下载;呈现的图象质量较好;与其他多技术集成能力强;兼容性好。适合于三维对象和场景的展示。

基于

Java技术

通过浏览器执行程序,直接将三维模型渲染后实时展现三维实体。

通过编程和三维建模工具来实现;在三维对象和三维场景展示时,文件数据量小。

不需要安装插件;文件传输快,可被快速下载;呈现的图象质量非常高;兼容性好。适合于三维对象和场景的展示。

基于动画

脚本语言

在网络动画中加入脚本描述,脚本通过控制各幅图像来实现三维对象。

通过脚本语言编程来实现;在三维对象和三维场景展示时,文件数据量较小

需要插件;文件传输快,可被快速下载;呈现的图象质量随压缩率可调;兼容性好。适合于三维对象和场景的展示。

基于流式

传输的技术

直接将交互的虚拟场景嵌入到视频中去。

通过实景照片和场景集成(缝合)软件来实现;在场景模拟时,文件数据量较小。

需要下载插件;用户可快速浏览文件;三维场景的质量高;兼容性好。实现360度全景虚拟环境。

三、Web3D的实现技术

1.基于编程的实现技术

开发Web3D最直接的方法是通过编程来实现。其编程语言主要有:虚拟现实建模语言VRML,网络编程语言Java和Java3D,并且需要基层软件或者驱动库的支持,如:ActiveX,COM和DCOM等。其中,使用最为广泛的是VRML和Java3D。

VRML语言就是采用其提供的节点、字段和事件来直接编程,但工作量大,开发效率低,直接表现很复杂的场景很困难,必须借助其它可视化编程工具,才能实现对复杂场景的构建。另外,VRML所提供的API 远不能满足应用程序开发的要求,且复杂、不易使用。

Java3D是在OpenGL、DirectX等三维图形标准的基础上发展起来的,它的编程模型是基于图像场景的,这就消除了以前的API强加给编程人员的繁琐细节,允许编程人员更多的考虑场景及其组织,而非底层渲染代码。因此,Java3D 为Web3D提供了很好的功能支持。

基于编程的Web3D实现技术,有编程工作量大且较难掌握的共同缺点,特别是对于不熟悉计算机编程的学科老师,通过编程将Web3D技术引入到教学中较难。

2.基于开发工具的实现技术

为了提高Web3D技术的实用性,近年来,一些公司开发了专门针对Web3D对象建构的可视化开发工具(如Cult3D,Viewpoint,Pulse3D,Shout3D,Blaxunn3D等),从而为不熟悉编程的人员开发Web3D对象提供了方便的实现途径。这些专门的开发工具,尽管用法和功能各异,但开发过程一般都包括:(1)建立或编辑三维场景模型;(2)增强图形质量;(3)设置场景中的交互;(4)优化场景模型文件;(5)加密等。

其中三维建模是Web3D图形制作的关键,许多软件厂商都把3Dmax作为三维建模的工具。对于特别复杂的场景,也可以采用照片建模技术来建立三维网格模型。近年推出的商品化软件有Canoma,Photo3D,ImageModeler等。

通过开发工具实现Web3D的开发,流程简单、观并易掌握。

3.基于多媒体工具软件的实现技术

利用Flash、TVR等多媒体工具软件,不通过编程就很方便进行Web3D的开发。

在交互式矢量动画软件Flash中,对导入的序列图像或已拼接的360度的全景图像,通过ActionScript设置交互而形成的3D对象或全景虚拟环境,能实现360度视角可见的图像的控制。由于该技术具有矢量性,所以,具有画面清晰度不因缩放而降低、文件小等优点。另外,由于采用micromedia的Shockwave技术,从服务器端向浏览器端传输只是一些绘图指令,所以能够实现在低带宽上的高质量浏览。但需要安装ShockwaveFlash的Plugin才可观看。

Apple公司的QTVR(QuickTime)AuthorStudio是基于图像缝合技术实现全景图像空间构建,再将全景图像制作成QTVR文件,实现网上浏览。QTVR在真实感、速度和文件大小等方面非常吸引用户。Apple公司近年推出的基于Windows操作系统的开发工具VR ToolBox,使开发用于网络教学的QTVR更为便捷和高效。

4.基于Web开发平台的SDK的实现技术

通过Web的SDK实现Web3D的技术近来受到关注,其中WildTangent和EON技术成熟,应用广泛。

WildTangent将Java和Javascript 与DirectX进行封装,提供了简化而且强大的程序开发环境。用户只要使用WildTangent网络驱动配合脚本语言或者所选择的程序语言,就能创造出动态、眩目的3D效果(可以包含二维平面图形、声音以及三维模型) 。而且,WildTangent网络驱动通过下载的控件能够实现与IE和Netscape浏览器兼容。由于Wildtangent技术具有很强的交互性, 使得WildTangent的应用范围非常广泛,但要用WildTangent创造出交互效果,用户必须具备一定的脚本语言基础。

EON Studio是一套多用途的3D/VR内容整合制作套件,开发者不需撰写复杂的程序,就能轻松快速的建构互动虚拟内容。具有功能强、易学易用、表现逼真、安全性好、制作的档案很小等特点。

四 、结束语

Web3D技术以其强大的交互性、更强的真实感及在网络上易于传输的特点,展现出了它在网络教育中的独特优势和潜力。采用Web3D技术来模拟实验环境,特别是一些危险、费用昂贵、操作危险性高(易燃、易爆)的化学实验,地震波传播、火山喷发等不易在真实环境中实现的地理实验,具有非常现实的意义。随着技术的发展,WEB3D技术的功能会更强、实现的技术会更加丰富。