|
Web 3D技术是指实现网页中虚拟现实的一种最新技术。VRML是互联网3D图形的开放标准。VRML是3D图形和多媒体技术通用交换的文件格式,它基于建模技术描述交互式的3D对象和场景,不仅应用在互联网上,也可以应用在本地客户系统中,应用范围极广。由于网上传输的是模型文件,故其传输量远小于视频和图像。
|
|
|
|
VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。VRML是一种用在Internet和Web超链接上的、多用户交互的、独立于计算机平台的网络虚拟现实建模语言。虚拟世界的显示、交互及网络互联都可以用VRML描述,VRML是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,具有平台无关性。
|
|
|
本质上VRML是一种面向Web和对象的三维造型语言,而且它还是一种解释性语言。VRML的对象称为节点,子节点的集合可以构成复杂的景物。节点可以通过实例得到复用,为它们赋予名字,进行定义后即可建立动态的VR(虚拟世界),是目前Internet上基于WWW的三维互动网站制作的主流语言。
|
|
|
VRML的设计是从在Web上欣赏实时3D图像开始的。VRML浏览器既是插件,又是辅助应用程序,还是独立运行的应用程序,它是传统的虚拟现实中同样也使用的实时3D着色引擎,这使得VRML应用从三维建模和动画应用中分离出来,在三维建模和动画应用中可以预先对前方场景进行着色,但是没有选择方向的自由。
|
|
|
VRML提供了6+1度的自由,用户可以沿着三个方向移动,也可以沿着三个方向旋转,同时还可以建立与其他3D空间的超链接,因此VRML是超空间的。
|
|
|
VRML定义了一种把3D图形和多媒体集成在一起的文件格式。从语法角度看,VRML文件是被显式地定义和组织起来的3D多媒体对象集合;从语义角度看,VRML文件描述的是基于时间的交互式3D多媒体信息的抽象功能行为。VRML文件描述的基于时间的3D空间称为虚拟境界(Virtual World),简称境界,其所包含的图形对象和听觉对象可以通过多种机制动态修改。
|
|
|
VRML的访问方式是基于客户/服务器模式的。其中,服务器提供VRML文件及支持资源(图像、视频、声音等),客户端通过网络下载用户希望访问的文件,并通过本地平台上的VRML浏览器交互式地访问该文件描述的虚拟境界。由于浏览器是本地平台提供的,因此实现了平台无关性。下图所示为VRML的工作方式。
|
|
|
|
|
|
X3D是一种专为Web设计的三维图像标记语言,全称可扩展三维语言,是由Web 3D联盟设计的,是VRML标准的最新升级版本。X3D基于XML格式开发,所以可以直接使用XML DOM文档树、XML Schema校验等技术和相关的XML编辑工具。目前,X3D已经是ISO认证的国际标准。
|
|
|
VRML和X3D有数次跟随显卡硬件发展的升级,现阶段多数的Direct3D 9.0c和OpenGL 2.0 GLSL的功能特效都可以实现。X3D的规格为了支持显卡硬件的功能,添加了底层的渲染节点,如支持三角形、三角形扇、三角形条带等基本渲染元素;支持设置显卡的混合模式和设置帧缓存、深度缓存、模板缓存的功能;支持多纹理和多遍绘制、Shader着色、多渲染目标(MRT)、几何实例(Geometry Instance)、粒子系统。2010年已经可以在X3D和VRML中使用延迟着色技术。现在X3D的特效包括SSAO和CSM阴影、实时环境反射和折射、基于实时环境和天光的光照、HDR、运动模糊、景深。X3D支持对应3DS Max标准材质的多种贴图和纹理。
|
|
|
X3D通过H-anim组件支持骨骼动画和蒙皮,也可以通过原型扩展支持角色AI和动作混合。
|
|
|
X3D通过DIS组件或Networking组件支持多用户场景和事件共享。
|
|
|
现阶段有几种X3D引擎支持ODE物理引擎或PhysX物理引擎。
|
|
|
X3D浏览器可以通过插件支持Wii控制器、Kinect体感识别、DirectInput等外设。X3D浏览器可以通过插件支持语音识别和TTS文本朗读。
|
|
|
|
Java 3D是Java语言在三维图形领域的扩展,是一组应用编程接口(API)。利用Java 3D提供的API可以编写出基于网页的三维动画、各种计算机辅助教学软件和三维游戏等。
|
|
|
Java 3D API是用来开发三维图形和基于Web的3D应用程序(applet)的编程接口,用于开发三维图形软件的3DAPI(Open GL、Direct3D)都是基于摄像机模型的思想,即通过调整摄像机的参数控制场景中的显示对象,而Java 3D则提出了一种新的基于视平台的视模型和输入设备模型的技术实现方案,即通过改变视平台的位置、方向浏览整个虚拟场景,它不仅提供了建造和操作三维几何物体的高层构造函数,而且利用这些构造函数还可以建造复杂程度各异的虚拟场景,这些虚拟场景大到宇宙天体,小到微观粒子。
|
|
|
Java 3D是Java Media APIs中的一部分,可广泛地应用于各种平台,而且用Java 3D API开发的应用程序和基于Web的3D小应用程序(applet)还可以访问整个Java类,且可以与Internet很好地集成,即如果在浏览器中安装了Java 3D的浏览插件,在网上即可浏览Java 3D所创建的虚拟场景。Java 3D API还汲取了已有图形APIs的优点,即Java 3D的底层图形构造函数不仅综合了底层APIs(Direct3D、Open GL)最好的绘制思想,而且它的高层图形绘制还综合了基于场景图的思想,同时又引入了一些通用的图形环境未考虑的新概念(如3D立体声),这样将有助于提高用户在虚拟场景中的沉浸感。
|
|
|
|
Shout 3D是Shout Interactive公司推出的在Internet上传输交互三维图形和动画的解决方案。设计师可以利用3DS Max或其他建模工具创建基本模型(包括建模、贴图、材质、灯光和摄像机等),通过Shout 3D为3DS Max提供的插件把模型直接输出为Shout 3D的s3d文件格式(其他建模工具输出为wrl文件格式即可),然后利用已有的applet或根据自己的需要用Java或JavaScript开发任何可以想象的交互能力,最后使用Shout 3D Wizard把交互的3D动画发布到网上即可。虽然Shout 3D生成的场景质量不高,但利用它提供的高交互性可以方便地开发网上的三维游戏。
|
|
|
|
Atmosphere是Adobe公司推出的一款可通过互联网连接多用户的三维虚拟环境式在线聊天工具,它集虚拟3D世界的创作、观看和互动于一体,是创建网络虚拟三维环境的专业开发解决方案。
|
|
|
Adobe Atmosphere包含以下3个组件:Atmo2 sphere Builder组件,通过3D建模技术建立三维虚拟世界;Atmosphere Browser组件是免费浏览器插件;Atmosphere Community Server组件是3D世界中的一个基于文本的聊天服务器。
|
|
|
需要注意的是,Atmosphere使用了Viewpoint技术以得到对三维几何体高质量的压缩和实时渲染效果,所以在安装Atmosphere的浏览器插件的同时也安装了Viewpoint插件。
|
|
|