VRML是一种专为WWW(万维网)而设计的三维图像置标语言。全称是虚拟现实建模语言,是由VRML协会设计的。VRML标准中既定义了描述三维模型的编码格式,也定义了描述交互或脚本的编码及行为模式。VRML协会现已更名为Web3D联盟页面存档备份,存于互联网档案馆),VRML标准现在也已经升级为X3D标准。

历史

VRML的最初版为1994年的VRML 1.0,然后是VRML97,最近新版为X3D标准,三者都是ISO认可的国际标准。VRML 1.0最初只是一个模型格式,后来经过扩展和改写,行成了VRML97。VRML97通过原型定义、路由、javascript和一系列的传感器节点完成动画和交互。在VRML97上又发展了骨骼动画和地理坐标等功能扩展。

功能

VRML有数次跟随显卡硬件发展的升级,现阶段多数的Direct3D 9.0c和OpenGL 2.0 GLSL的功能特效都可以实现。VRML 规格为支持显卡硬件的功能,添加了从底层的渲染节点,比如支持三角形、三角形扇、三角形条带等基本渲染元素;比如支持设置显卡的混合模式和设置帧缓存、深度缓存、模板缓存的功能;还有节点能支持多纹理和多遍绘制、支持Shader着色、支持多渲染目标(MRT)、支持几何实例(Geometry Instance)、支持粒子系统。2010年已经可以在X3D和VRML中使用延迟着色技术。现在的特效包括SSAO和CSM阴影、实时环境反射和折射、基于实时环境和天光的光照、HDR、运动模糊、景深。VRML 导出插件支持对应3ds MAX标准材质的多种贴图/多纹理。

VRML通过H-anim组件支持骨骼动画和蒙皮,也可以通过原型扩展支持角色AI和动作混合。

VRML通过DIS组件或Networking组件多支持多用户场景和事件共享。

现阶段有几个 VRML 引擎能支持ODE物理引擎或PhysX物理引擎。

VRML浏览器可以通过插件的形式支持Wii控制器、Kinect体感识别、DirectInput、XInput等外设。

VRML浏览器可以通过插件的支持 语音识别和 TTS 文本朗读。

大多数三维软件都能够导入或导出VRML格式,部分三维引擎能够直接加载VRML格式的模型,浏览器可以调用Java applet来提供简单的VRML体验。要体验完整的视觉和交互效果,一般需要单独安装浏览器插件或独立程序。

其他应用

VRML格式除了一般3D模型呈现外,对于3D扫描所产生的点云资料亦可记录与呈现,且资料是带有色彩(R、G、B)的资讯。[1]

和其它实时三维引擎的比较

和最流行Web3D引擎比较,VRML和X3D的市场占有率都不高。这并不是因为技术本身的缺陷,而主要是VRML的制作工具和开发环境相对落后。以前的支持所见即所得的VRML实时开发环境Cosmo Worlds、ISA、Avatar Studio都因为开发公司的转向而没有继续发展,而后面开发的BS Editor、Flux Studio等还没有完善。另外VRML也没有提供完善的功能包,而Quest3D、Unity3D、3D VIA Virtools都提供了完善的功能包。

参考资料

  1. ^ 李家宇,《3D都市尺度镭射扫描在建筑数码典藏之应用-以新竹县北埔乡、竹东镇及大台北地区为例》,台北:台湾科技大学建筑研究所博士论文,2012。

参见

外部链接