vrml(Virtual Reality Modeling Language)即
虚拟现实建模语言。是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,也具有平台无关性。
语言简介
熟悉
WWW的人都知道,受
HTML的限制,网页只能是平面的结构,就算 Javascript能够为网页增色不少, 但也仅仅停留在平面设计阶段,而且实现环境与浏览者的动态交互是非常繁琐的。于是VRML应运而生。尤其是VRML 2.0标准,被称为第二代Web语言,它改变了WWW上单调、交互性差的弱点,将人的行 为作为浏览的主题,所有的表现都随操作者行为的改变而改变。
VRML1.0只能创建静态的3D景物,你可以在它们之间移动,来测览三维世界。 VRML1.0是基于SGI公司的
OpenInventor的文件格式,也是它的一个子集,是一种流行的3D图形的格式,并可链接到一般的WWW页。VRML1.0的立体链接,即构成了VRML的世界。 可以看出,用VRML1.0很容易做出三维物体,这也正是VRML1.0的基本目的所在。另外,有些厂家将VRML1.0进行了扩展,使其可以实现一些动画功能和交互性,但只能在Live3D 的环境下运行。
由于VRML1.0的种种限制,VRML2.0的产生也就是不可避免的。VRML1.0只能创建静态的3D景物。因此虽然能用WML1.0来建立用户的虚拟代表,它们却不能做其他任何事情。
但是,VRML2.0能够改变这一点,它增加了行为,可以让物体旋转、行走、滚动、改变颜色和大小。 比较起来,VRML2.0比VRML1.0有了长足的进步,其巨大的改变,正如当年Microsoft公司的Window95比之
Windows3.0的进步。
其主要改进有:
1.增强了静态世界;
2.增加了交互性;
3.增加了动画功能;
4.增加了编程功能;
5.增加了原形定义功能。
在VRML的世界里你可以用虚拟开关将灯光打开,当您走近清彻透底 的泉水时水声逐渐变响,当你向远处驶来的汽车招手时汽车停下来把你载上...
语言历史
最初的三维浏览器叫做Labyrith,它诞生于1994年2月,是由Mark Pesce和Tony Parisi两人开发的。他们把它带到几个国际大型展示会上作了演示。1994年5月,在瑞士日内瓦召开的万维网(www)会议上,Mark Pesce和Tony Parisi在会上介绍了这个可浏览万维网上三维物体的界面。
1994年初夏,第一次WWW会议期间初步决定,十月份在芝加哥召开第二次WWW会议,也就是说只留出五个月的时间。在这段时间里,能否拟出一个VRML规范的初步方案?BOF成员和自愿加入开发新规范行列的热心网客信心十足。他们一致认为:在下次会议之前,一个内部试用语言规范一定能完成。总的意向是:就一个业已存在的语言加以改造比较稳妥,而另起炉灶,从头开始重干一个全新,则不太可行。
1995年秋,SGI进一步推出了WebSpace Author(供创作的程序)。这是一种Web创作工具,可在场景内交互地摆放物体,并改进了场景的功能,还可用于发表VRML文件。此时,VRML设计工作组(VGA, VRML Architecture Group)相聚在一起,讨论下一个版本的VRML。
1996年初,VRML委员会审阅并讨论了若干个VRML2.0版本的建议方案,其中有SGI的动态境界( Moving Worlds)提案、太阳微系统(Sun Microsystem)的全息网(Holl Web)、微软公司(Microsoft)的能动VRML(Aictive VRML)、苹果公司(Apple)的超世境界(Out of the world),以及其他多种提案。委员会的很多成员参与修改和完善这种种方案,特别是Moving Worlds。经过多方努力,最终在2月底以投票裁定。结果,Moving Worlds以70%选票赢得了绝对多数。1996年3月,VGA(VRML设计小组)决定将这个方案改造成为VRML2.0。
1997年12月VRML作为国际标准正式发布,1998年1月正式获得
国际标准化组织ISO批准(国际标准号ISO/IEC14772-1:1997)。简称VRML97。VRML97只是在VRML2.0基础进行上进行了少量的修正。但它这意味着VRML已经成为虚拟现实行业的国际标准。
1999年底,VRML的又一种编码方案X3D草案发布。X3D整合正在发展的XML、JAVA、流技术等先进技术,包括了更强大、更高效的3D计算能力、渲染质量和传输速度。以及对数据流强有力的控制,多种多样的交互形式。
2000年6月世界web3D协会发布了VRML2000国际标准(草案),2000年9月又发布了VRML2000国际标准(草案修订版)。
2002年7月23日,web3d联盟日前发布了可扩展3D(X3D)标准草案并且配套推出了软件开发工具供人们下载和对这个标准提出意见。这项技术是虚拟现实建模语言(VRML)的后续产品,是用XML语言表述的。X3D基于许多重要厂商的支持,可以与MPEG-4兼容,同时也与VRML 97及其之前的标准兼容。它把VRML的功能封装到一个轻型的、可扩展的核心之中,开发者可以根据自己的需求,扩展其功能。X3D标准的发布,为Web3D图形的发展提供了广阔的前景。
语言大事记
1993.12 Parisi和Pesce开始开发第一个VRML浏览器;
1994.03 首届WWW大会在
日内瓦召开,提出VRML;
1994.06 开始VRML邮件列表;
1994.10 产生了基于SGI的Open Inventor文件格式的VRML1·0第一稿;
1996.03 VRML结构组通过Moving World,并就VRML2·0标准进行投票;
1996.08 通过VRML2·0标准。
语言工作原理
VRML是一种用在Internet 和Web超链上的,多用户交互的,独立于计算机平台的,网络虚拟现实建模语言。虚拟世界的显示、交互及网络互连都可以用VRML来描述。
VRML的设计是从在WEB上欣赏实时3D图象开始的。VRML浏览器既是插件,又是帮助应用程序,还是独立运行的应用程序,它是传统的虚拟现实中同样也使用的实时3D着色引擎。这使得VRML应用从三维建模和动画应用中分离出来,在三维建模和动画应用中可以预先对前方场景进行着色,但是没有选择方向的自由。
VRML提供了6+1度的自由,用户可以沿着三个方向移动,也可以沿着三个方向旋转,同时还可以建立与其它3D空间的超链接。因此VRML是超空间的。
VRML定义了一种把3D图形和多媒体集成在一起的文件格式。从语法角度看,VRML文件是显式地定义和组织起来的3D多媒体对象集合;从语义角度看,VRML文件描述的是基于时间的交互式3D多媒体信息的抽象功能行为。VRML文件描述的基于时间的3D空间称为虚拟境界(Virtual World),简称境界,所包含的图形对象和听觉对象可通过多种机制动态修改。
VRML的访问方式是基于客户/服务器模式的。其中服务器提供VRML文件及支持资源(图像、视频、声音等),客户端通过网络下载希望访问的文件,并通过本地平台上的VRML浏览器交互式地访问该文件描述的虚拟境界。由于浏览器是本地平台提供的,从而实现了平台无关性。下图4描述了VRML的工作方式。
语言应用
如今,在国外VRML已经广泛应用于生活、生产、科研教学、商务甚至军事等各种领域,并取得了巨大的经济效益。VRML给我们带了个一个全新的三维世界,让我们的互联网不再仅仅停留在平面上,它使这个虚拟的世界动了起来,而且不光是他自己能动,我们还可以让他按照我们的意志动。
VRML不仅支持数据和过程的三维表示,而且能提供带有音响效果的结点,用户能走进视听效果十分逼真的虚拟世界(如简易迷宫、国际象棋)。用户使用虚拟对象表达自己的观点,能与虚拟对象交互,为用户对具体对象的细节,整体结构和相互关系的描述带来的新的感受。