虚拟现实技术―VRML篇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟现实技术――VRML篇
一、VRML介绍
1.什么是VRML?
VRML是“Virtual Reality Modeling Language”的缩写形式,意思是“虚拟现实造型语言”。
第一代Web是以HTML为核心的二维浏览技术,受HTML语言的局限性,VRML之前的网页只能是简单的平面结构,而且实现环境与参与者的动态交互是非常烦琐的。第二代Web是以VRML为核心的三维浏览技术。第二代Web 把VRML与HTML、Java、媒体信息流等技术有机地结合起来,形成一种新的三维超媒体Web。
VRML是用来描述三维物体及其行为的,可以构建虚拟境界(Virtural World), 可以集成文本、图像、音响、MPEG影像等多种媒体类型,还可以内嵌用Java、ECMAScript等语言编写的程序代码。
以VRML为核心构建的虚拟世界中用户如身处真实世界,可以和虚拟物体交互,人们可以以习惯的自然方式访问各种场所,在虚拟社区中“直接”交谈和交往。事实上,目前采用VRML技术取得成功的案例已经很多,例如探路者到达火星后的信息就是利用VRML在因特网上即时发布的,网络用户可以以三维方式随探路者探索火星。
2.VRML的工作原理
VRML定义了一种把3D图形和多媒体集成在一起的文件格式。从语法角度看,VRML文件是显式地定义和组织起来的3D多媒体对象集合;从语义角度看,VRML文件描述的是基于时间的交互式3D多媒体信息的抽象功能行为。
VRML文件描述的基于时间的3D空间称为虚拟境界(Virtual World),简称境界,所包含的图形对象和听觉对象可通过多种机制动态修改。
VRML文件可以包含对其他标准格式文件的引用。可以把JPEG、PNG和MPEG文件用于对象纹理映射,把WAV和MIDI文件用于在境界中播放的声音。另外,还可以引用包含Java或ECMAScript代码的文件,从而实现对象的编程行为。
VRML使用场景图(Scene Graph)数据结构来建立3D实境,VRML的场景图是一种代表所有3D世界静态特征的节点等级:几何关系、质材、纹理、几何转换、光线、视点以及嵌套结构。几乎所有生产厂商,无论是CAD、建模、动画、VR,还是VRML,他们的结构核心都有场景图。
境界中的对象及其属性用节点(Node)描述,节点按照一定规则构成场景图(Scene Graph),也就是说,场景图是境界的内部表示。场景图中的第一类节点用于从视觉和听觉角度表现对象,它们按照层次体系组织起来,反映了境界的空间结构。另一类节点参与事件产生和路由机制,形成路由图(Route Graph),确定境界随时间的推移如何动态变化。
VRML文件的解释、执行和呈现通过浏览器实现,这与利用浏览器显示HTML文件的机制完全相同。浏览器把场景图中的形态和声音呈现给用户,这种视听觉呈现即所谓的虚拟世界(境界)。用户通过浏览器获得的视听觉效果如同从某个特定方位体验到的,境界中的这种位置和朝向称为取景器(Viewer)。
3.VRML的应用
VRML在电子商务、教育、工程技术、建筑、娱乐、艺术等领域有广泛的应用。
例如在教育上,VRML不仅仅是HTML功能更强的替代品,其潜在意义在于突破上述基于WWW的教学模型建立更自然、更真实的虚拟教育环境。在这种环境中学生可以以浏览探索的方式汲取知识,如进入虚拟太空学习天文知识,利用虚拟地球学习地理知识,穿过历史长廊与历史人物交流,进入分子世界游历化学殿堂等等,这些曾经是梦想中的学习方式都可以逐步实现。在这个虚拟教育世界中,甚至可以有利用VRML制作的动画人物扮演教师,其面部表情和形体动作利用动作跟踪系统捕捉下来,这样得到的讲课节目将是三维的。如果把这种方式扩大到教学双方,则可实现具有实时交互性的虚拟教学——教师控制的虚拟教师和学生控制的虚拟学生就可以在一个虚拟教室中相互交流。
4.VRML的工作组及其研究目标
为了推动VRML技术的发展,VRML协会组织了很多工作组,每个工作组都是自愿组织、自我约束、并经VRML协会认可的技术委员会,负责某个与VRML有关的专题技术的研究和实现工作。
人性动画工作组(Humanoid Animation WG)利用VRML表现人类行为特性。
色彩保真工作组(Color Fidelity WG)确保采用任何平台的观众所看到的效果都和创作者的原始作品一样,颜色应相当一致。
元形式工作组(Meta Forms WG)针对利用形式文法生成的作品,提出一般性的方法论和一般性规范,使之能够映射为某种特定形式。首要目标是能够表示"数字生命格式"( Digital Life-Forms)结构和增长。
面向对象扩展工作组(Object-Oriented Extensions WG)探讨和推动对VRML进行面向对象扩展的方法。
数据库工作组(Database WG)推进基于VRML商业应用的创建,利用数据库维护VRML 内容的持久性、升级能力和安全传输能力。
外部创作接口工作组(External Authoring Interface WG)在VRML境界和外部环境之间建立标准接口。
界面组件工作组(Widgets WG)为开发者和用户提供一套基础性的、可自由使用的标准用户界面组件集,并提供支持基本组件集和所有VRML组件的理论框架。
二进制压缩格式工作组(Compressed Binary Format WG)探讨并开发VRML文件的二进制编码方法,重点是研究为了快速传送目的而尽量缩小文件尺寸,同时为了快速解码目的而尽量简化文件结构。
通用媒体库工作组(Universal Media Libraries WG)为了提高VRML境界的真实感,同时减少网络的下载量,而定义一种由驻留本地的媒体元件(纹理、声音和VRML对象)组成的小型跨平台媒体库。同时定义一种统一机制,通过这种机制,VRML内容创作者可以在自己的境界中使用这些媒体元件。
活动境界工作组(Living Worlds WG)为多用户(包括多个开发者)应用的产生和进化定义概念框架,并确定一组界面。
键盘输入工作组(Keyboard Input WG)为了使内容创作者能够在自己的境界中访问键盘输入,定义一个或多个扩充节点。
一致性工作组(Conformance WG)为与一致性测试有关的问题提供一个讨论场所,特别地,本组将辨别VRML实现发生分歧的地方以及相应的动作序列。
生物圈工作组(Biota WG)为生命系统(Living System)的研究和学习建立、配备数字式工具和环境。