Web 3D技术的应用比较
2014-12-05黄伟峰
黄伟峰
摘要:Web 3D技术有多种,都有适用的场合,介绍了有代表性的几种Web 3D技术;Vrml、Cortona、WireFusion、EON、Virtools、Quest3D、Flash 3D 和Unity 3D,比较了它们各自的特点和应用。
关键词:Web 3D;Vrml;Quest3D;Unity 3D
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)31-7274-02
Abstract:There are variety technology of Web 3D, and everyone has applicable occasion. Introduces several representative Web 3D technology;Such as Vrml, Cortona, WireFusion, EON, Virtools, Quest3D, Flash 3D and Unity 3D. It Compared their characteristic and application.
Key words: Web 3D;Vrml;Quest3D;Unity 3D
Web3D技术是随着人们对虚拟现实的实现技术之上发展起来的,是继多媒体之后的另一个研究的热点,人们用虚拟现实技术模拟真实的场景,给人以身临其境的真实感受,在电子商务、娱乐游戏业、教育业和虚拟现实展示与虚拟社区等领域都有广阔的发展前景,所以,发展出了很多用于三维立体体验的虚拟实现技术,而虚拟现实技术可以分为沉浸式和非沉浸式两种系统,其中Web3D就属于一种非沉浸式的虚拟现实系统,主要用计算机的三维实现技术在网络上构建和传输虚拟的三维场景。
1 Web 3D技术的比较
Web 3D技术和单机的三维实现技术之间的很大区别在于单机上能运行的三维模型受制于网络带宽的影响而不能在网络上传输,所以Web3D要求的文件通常比较小,并且他们的制作软件与浏览软件都是不通用的,所以当你想在网上浏览哪种Web3D技术制作的作品,就必须安装对应的浏览软件。这种浏览软件一般是以浏览器的插件形式安装的[3],所以Flash 3D技术就有得天独厚的优势,因为大部分浏览器都支持Flash插件,虽然Flash 3D技术有先天的优势,但现实的情况是Unity3D、Virtools等非Flash技术发展的更好,下面我们就常见的Web3D技术做一个比较:
1)首先是VRML技术,是一种用于建立虚拟场景模型或虚拟三维产品的场景建模语言,而且它是一种解释性语言,具有平台无关性。是目前Internet上基于Web的三维互动网站制作的主流语言。VRML文件用ASCII码描述的程序[1],可以使用任何一种具有文本编辑器的工具,如Windows中自带的记事本等来编辑VRML源代码。只要程序存盘时文件的扩展名是wrl或者wrz即可。Vrml文件的特征是文件较小,开放性较好,比较适合网络传播,但由于年代较久远,所以场景画面的显示效果不太好。
2)Cortona不仅有专用的建模工具和交互制作工具,而且还支持MPEG等视频格式,流媒体格式,各种种音频文件,Flash动画,以及多种材质效果,Nurbs曲线,粒子效果,雾化效果等。而且它的安装文件仅有1M多,是各种VRML浏览器中最小的。Cortona浏览器使用方便,3D的效果、交互功能突出,是目前用户使用最多的VRML浏览器。
3)WireFusion是瑞典Demieron公司开发的专业实时web3d软件,使用Java技术调用WireFusion的API接口实现复杂的交互,以java applet的形式发布工程,最后在网页中用Javescript脚本调用显示在web浏览器,由于采用的Java技术,所以跨平台性好,另外文件体积小,适合在网络上使用,而且很多交互功能已经成为预设模块,使用比较方便,能快速的制作一些不是很复杂的交互工程,此外,因为大多浏览器都支持Java技术,所以不需要安装浏览器插件就可以直接在网络上进行虚拟体验也是WireFusion的一个重要优势。
4)EON是美国EON Reality公司开发,不仅仅局限于建筑工业领域,它的用途很广;商业包装、在线教学、数字导览、运动训练、大型设备操作训练、医疗手术训练等都有EON的应用实例,EON技术和VRML技术有许多相似之处,都有节点相关的概念;但EON延伸扩充功能强大。是一个在国外应用很广的Web3D制作软件,它可以读取55种CAD格式,支持99%以上的外设而无需编程,同时支持多种显示方式,由于EON可接受Lightscape制作的场景,另外,拥有优良的算图引擎,支持多种贴图功能,可实时阴影的变换、明暗度、反射、环境贴图等功能。可调整对象表面的贴图材质或透明度,所以模拟效果非常逼真。并在2006年获得微软公司名为“TouchLight”的3D图像技术许可。
5)Virtools:法国Virtools公司所开发的Web3D引擎,微软Xbox认证产品,世博会指定引擎,足以说明它在Web3D中的重要地位。Virtools起初用于游戏的设计,大名鼎鼎的平衡球就是它的杰作。但后来主要用于虚拟现实的制作,当然也用于网络的3D的制作。Virtools的扩展性好,提供了很多强大的行为模块[2],可以通过这些行为模块创建各种交互功能。甚至无需编写代码,只用在脚本流程图中对各种行为模块进行连结就可完成交互功能的设计,当然也可以使用其内置的功能强大的VSL语言进行更复杂的自定义功能。Virtools还提供一款免费的体积很小的网页浏览器(Web Player),用户可以方便的下载使用它。同时Virtools还包含一个软件开发包(SDK),它提供了一些开发行为和渲染功能的组件。 使用SDK可以方便和快捷的测试自定义的功能而不用先编写动态链结库。
6)Quest3D是由Act-3D公司开发,拥有款强大的功能模块,交互功能非常强,不用编写代码就能创建出三维应用程序。Quest3D基于DirextX图像引擎,自带了强大的实时渲染器,拥有真实的物理引擎,仿真物理模型。并加入了HLSL的图形代码模块。使用HLSL可以编写出各种令人新奇的效果。Quest3D就是通过这些HLSL代码实现了逼真的画面效果,甚至可以跟效果图相媲美。这些精美效果所带来的代价就是文件比较大,在网络传输比较慢。
7)Flash 3D:Flash技术是基于二维的应用,但由于Flash的使用者众多,必然有3D的应用需求,于是就发展出了众多的用于Flash 3D的引擎,如:Away3D, Sandy, Alternativa 及Papervision 3D等,其中Away3D是使用比较广泛的开源Flash 3D引擎,它的API比较清晰,文档和示例代码做的都不错,现在最新的版本是4.0,支持最新的flash player11硬件加速功能。
8)Unity 3D本是由德国的一些苹果业余爱好者开发的一款游戏引擎,一直只能用于苹果平台,所以一直不为外人知晓。后来发布了PC版本,并且还发布了手持移动设备的相关版本。凭着其简单的使用方法,方便的可视化创作环境,完美的工作流程,Unity 3D迅速成为3D领域炙手可热的开发工具,并且它还采用了成熟的有广泛使用基础的脚本语言:C#和Javascript作为开发语言。而这正是Unity 3D能够迅速流行发展的主要原因。另外它还可以方便的链接数据库,这样就可以做多人在线的产品,应用范围更广。
2 结束语
软件功能的好坏问题向来是争论的热点,相信也会一直争论下去,而软件的好坏本身就是相对的,因此使用者应根据自身的需求,选择一种适合自己的软件;也许重要的不是选择,而是立刻开始工作。
参考文献:
[1] 张小强,孙晓南,何玉林.Web3D技术及其在产品仿真系统中的应用[J].重庆大学学报,2002(5).
[2] 蒋燕萍,夏旺盛,黄心渊.几种Web3D技术的比较[J].北方工业大学学报,2003(1).
[3] 乔楠.Web 3D应用初探[J].影视技术,2003(8).