VRML的概念
VRML是虚拟现实建模语言(Virtual Reality Modeling Language)的简称,它是用来描述三维物体及其行为的,可以构建虚拟境界(Virtural World)。VRML的基本目标是建立因特网上的交互式三维多媒体,基本特征包括分布式、三维、交互性、多媒体集成、境界逼真性等。
按照VRML联盟(VRML Consortium)的设想,VRML应该是“在因特网上用于3D多媒体和共享虚拟世界目的的一个开放标准”。这里强调了几个重点:
1) 开放的标准:VRML已经在1997年被International Electrotechnical Commission(IEC)确认为国际标准(ISO/IEC-14772-1:1997)。
2) 3D多媒体能力:在VRML成为正式的标准很久以前它就已经成为了事实上的标准:很多应用软件如CAD、动画以及其他的3D建模程序都使用VRML格式来在彼此间发布、共享数据,这些应用软件现在都提供输出VRML格式文件或提供转化格式的工具。同时,VRML已经被考虑在MPEG-4标准,Java3D以及其他的正在开发的标准之中。
3) 共享的虚拟世界:VRML的先驱们的最初动力来自一个梦想:希望大家能够在一个3D共享的虚拟世界中交谈和工作。这个目的已经在逐步实现。
4) 基于因特网:与以往的3D应用不同,在设计VRML的时候一个基本出发点就是要在因特网上共享3D物体和场景。这是一个很重要的前提。现在的社会不再是单机或者局域网,只有在因特网上使用VRML才会有更强大的生命力,当然,在局域网的环境下VRML世界表现得会更好。
VRML的文件结构
一个典型的VRML文件包括:文件头、注释、节点及其域、事件和路由等。并不是所有的文件都包括这些要素,唯一必须的是VRML文件头。
1) VRML文件头
VRML 2.0标准的文件头为 #VRML V2.0 utf8。这不同于1.0标准中的文件头,1.0标准中文件只支持ASCII字符集,所以文本头为#VRMLV1.0ASCII。为了向下兼容,VRML 2.0文件格式兼容1.0文件格式。这个文件头有三个含义:
这个文件是一个VRML文件
符合VRML 2.0版本的规格
文件使用的是国际utf8字符集(这是多种语言中键入字符的一种标准方式,包括英语,也支持朝鲜语,日语和阿拉伯语的字符)
2) VRML的文件注释
VRML注释允许在不影响VRML空间外观情况下,在VRML中包括其他信息。可以加入对文件内容、文件绘制的不同部分的注释,注释以一个#符号开始,结束于该行的最后。
3) 节点及其域、域值
VRML中包含描述空间中造型及其属性的节点,这些是VRML的构件。单个节点描述造型、颜色、光照、视点,以及造型,动画定时器,传感器,插器等的定位和朝向等等。节点一般包括:
节点的类型(必需);
一对括号(必需);
括号中的一定数目描述节点属性的域(可选)和域值;
Cylinder{
height 2.0
radius 2.0
}
括号将节点的域信息组织在一起。组织在括号中的域是属于节点的。由节点及其相关域定义的造型或属性在空间中被视为一个整体。
所有的域类型,要么是单值类型,要么是多值类型,单值类型是单一的值,如一种颜色和一个数字,该类型命名以"SF"开始。多值类型可以很有值,比如颜色和数字的列表,命名以"MF"开始。当指定多值类型时,使用括号将值的列表扩起来。
4) 事件和路由
事件和路由:为了使虚拟空间具有动感,便于用户交互,VRML提供事件和路由的定义和使用。节点可以通过接收事件而改变,大部分的节点有能力处理进入事件(eventIns),通过接收eventIns的指示,节点可以改变目前的状态,当一个节点被改变了,它会对改变的状态有所反映,送出一些发生事件(eventOuts)。Route的功能是连接一个节点的eventOuts事件和一个节点eventIns事件,在两个节点间创建一条通路(路由),通过发送事件使一个节点控制另一个节点的状态。其语法为“ROUTE 输出节点及事件TO输入节点及事件”。
VRML文件以扩展名.wrl或.wrz结尾,表示这是一个包含VRML空间的文件。
VRML的创建和浏览
1) VRML编辑器
VRML文件是虚拟空间的文本性描述,所以基本上使用任何的纯文本编辑器都可以编辑VRML文件。可以用记事本来编写VRML源程序,保存时以.wrl为扩展名;也可以由能够生成VRML三维空间的工具可视化地生成,如用3D Studio MAX、Pro/ENGINEER生成;当然也可以用VRML的专用编辑器来编写源程序,如Sgi公司的CosmoWorld和ParallelGraphics公司的VrmlPad编辑器,如图。
VrmlPad2.0编辑器的优点是:
可以编辑本地和远程的文件
支持高级查找,使用书签,支持取消操作和重复操作,分色现实,自动显示错误等
采用树形结构显示场景
支持在浏览器中预览
有功能强大的发布向导
VrmlPad2.0环境中可以处理和执行其他语言编写的外部应用程序
提供了文件列表功能,便于用户管理目录
2) VRML浏览器
当完成一个VRML文件时,需要通过支持VRML文件的浏览器来浏览。现在支持VRML的浏览器有很多,如美国SGI公司的Cosmo Player,微软公司的Microsoft VRML2.0以及ParallelGraphics公司的Cortona VRML Client等。也可以直接通过Windows操作系统中的IE浏览器来浏览,不过这种方法需要安装专用的VRML浏览器插件,如Cortvrml、CosmoWorlds等。安装Cortvrml插件,通过Windows的IE浏览器来浏览,如图。其特点是操作简单,渲染效果比较好。 |