VRML作为继HTML之后的第二代Web语言,主要用于描述三维物体及其行为。由于融合了二维和三维图像技术、动画技术和多媒体技术,VRML在构建Web虚拟场景方面具有较强的能力。另外,通过嵌入Java、Java Script,其表现力得到了极大的扩充,不仅可用于三维虚拟场景的构建,还可用于动画实现,更为重要的是,VRML可通过人机交互创造出更为逼真的虚拟环境。
1. VRML的工作原理
VRML的访问方式是基于客户/服务器模式(即C/S模式)的。其中,服务器提供VRML文件及支持资源(图像、视频、声音等),客户端通过网络下载希望访问的文件,并通过本地平台上的VRML浏览器交互式地访问该文件描述的虚拟场景。由于浏览器是本地平台提供的,从而实现了平台无关性。具体来说,VRML的工作原理可概括为三个方面:
(1)文本描述
VRML并不是用三维坐标点的数据来描述三维物体的,而是用类似HTML的文本标记语言来描述三维场景的。比如一个立方体的描述文本是:Box{size 3.0 3.0 3.0}。采用文本的形式进行描述能够减小数据量,有利于文件在Internet上传输。
(2)远程传输
用户浏览VRML描述的虚拟场景时,浏览器向服务器端发送一个请求,服务器端通过Internet将描述场景的文本传送到本地。VRML描述也嵌在Web页面中,在浏览器请求相应页面时,VRML描述与页面描述文本一起传送到本地。
(3)本地计算生成
描述虚拟场景的数据传送到本地后,本地计算机的浏览器对它进行解释计算,动态地生成虚拟场景。目前,一些高版本的浏览器都集成了VRML解释器,但在多数浏览器中,要想浏览VRML场景,都必须安装一个VRML解释器插件。
2. VRML的特性
VRML具有如下特性:
(1)平台无关性
VRML的访问方式是基于客户端-服务器模式的,其中服务器提供VRML文件,客户端通过网络下载希望访问的文件,并通过本地平台的浏览器(Viewer)对该文件描述的VR世界进行访问,即VRML文件包含了VR世界的逻辑结构信息,浏览器根据这些信息实现许多VR功能。由于浏览器是本地平台提供的,从而实现了VR的平台无关性。
(2)基于ASCII码的低带宽可行性
VRML跟HMTL一样,也是用ASCII文本格式来描述虚拟场景和链接的。这种文本格式可以保证在各种平台上的通用性,同时也降低了数据量,从而保证在低带宽的网络上也可以实现。
(3)交互性
VRML的图形渲染是实时的,用户可以与虚拟场景中的物体进行实时交互;VRML提供了6+1个自由度,即三个方向的旋转和移动,以及到其他3D空间的超链接(Anchor)。用户在感受虚拟世界的同时,通过自己的行为影响或改变虚拟世界,就像在现实中改变自己周围的环境一样。
(4)可扩充性
VMRL作为一种标准,不可能满足所有应用的需要。有的应用希望交互性更强,有的希望画面质量更高,有的希望VR世界更复杂。这些要求往往是相互制约的,同时又都受到用户平台硬件性能的制约,因而VRML是可扩充的。VRML除了本身自带的节点外,还支持自定义节点,并可在Script脚本节点中加入程序语言,如Java、Java Script等,从而进一步扩展其功能,实现更为复杂的交互。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。