虚拟场景技术的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
探究虚拟场景技术的实现
[摘要]:虚拟现实技术是一种跨学科的新技术,应用领域广泛。本文主要介绍了虚拟系统的初步设计与实现,给出了设计的基本规划和通过vrml建立虚拟场景的过程。通过vrml产生的场景,用户可以很方便的浏览各种三维模型场景,使其不再停留在图片上。最后通过以vrml为基础的虚拟场景达到虚拟场景的自动漫游和手动漫游。
[关键词]:虚拟现实技术 vrml 虚拟场景漫游
中图分类号:i022 文献标识码:i 文章编号:1009-914x(2012)26- 0537 -02 1vrml
1.1vrml简介
熟悉www的人都知道,受html的限制,网页只能是平面的结构,就算 java语言能够为网页增色不少,但也仅仅停留在平面设计阶段,而且实现环境与浏览者的动态交互是非常繁琐的。于是vrml
应运而生。尤其是vrml 2.0标准,被称为第二代web语言,它改变了www上单调、交互性差的弱点,将人的行为作为浏览的主题,所有的表现都随操作者行为的改变而改变。 vrml创造的是一个可进入、可参与的世界。你可以你可以在计算机网络上看到一幅幅生动、逼真的三维立体世界,你可以在里面自由的遨游;你可以将网络上流行的mud游戏转换为立体图形世界;你可以将你公司的主页改编成三维主页,让浏览者领略到你公司的实貌,而不仅仅是
简单的文本、表格... vrml是一种国际标准,其规范由国际标准化组织(iso)定义,mime类型为 x-world/x-vrml,它的表现与操作系统平台无关。vrmll.0只能创建静态的3d景物,你可以在它们之间移动,来测览三维世界。 vrmll.0是基于sgi公司的openinventor的文件格式,也是它的一个子集,是一种流行的3d 图形的格式,并可链接到一般的www页。vrmll.0的立体链接,即构成了vrml的世界。可以看出,用vrmll.0很容易做出三维物体,这也正是vrmll.0的基本目的所在。另外,有些厂家将vrmll.0进行了扩展,使其可以实现一些动画功能和交互性,但只能在live3d 的环境下运行。由于vrmll.0的种种限制,vrml2.0的产生也就是不可避免的。vrmll.0只能创建静态的3d景物。因此虽然能用wmll.0来建立用户的虚拟代表,它们却不能做其他任何事情。但是,vrml2.0能够改变这一点,它增加了行为,可以让物体旋转、行走、滚动、改变颜色和大小。比较起来,vrml2.o比vrmll.0有了长足的进步,其巨大的改变,正如当年mic rosoft公司的window95比之windows3.0的进步。其主要改进有:增强了静态世界;增加了交互性;增加了动画功能;增加了编程功能;增加了原形定义功能。在vrml的世界里你可以用虚拟开关将灯光打开,当您走近清彻透底的泉水时水声逐渐变响,当你向远处驶来的汽车招手时汽车停下来把你载上...
而漫游的实现可以使用vrml或者virtools等。vrml不仅支持数据和过程的三维表示,而且能提供带有音响效果的结点,用户能
走进视听效果十分逼真的虚拟世界。用户使用虚拟对象表达自己的观点,能与虚拟对象交互,为用户对具体对象的细节,整体结构和相互关系的描述带来的新的感受。而virtools 4.0virtools是一套整合软件,可以将现有常用的档案格式整合在一起,如3d的模型、2d图形或是音效等。virtools是一套具备丰富的互动行为模块的实时3d环境虚拟实境编辑软件,可以制作出许多不同用途的3d产品,如网际网络、计算机游戏、多媒体、建筑设计、交互式电视、教育训练、仿真与产品展示等。所以比较我会选择vrml来实现网页上虚拟场景和物体的设计和编码,以及vrml pad和
bs_contact_vrml-x3d浏览器插件的使用等,创建出适于网上浏览的3d环境。
1.2 vrml要点
vrml是解释展示的,浏览器就是其解释器。为了使ie浏览器能够支持vrml,需要安装相应插件。一种比较流行的插件是
bs_contact_vrml-x3d。另有一种是sgi(silicon graphics inc)公司的cosmo player。
vrml使用场景图数据结构来建立3d实境,这是以sgi的open inventor 3d工具包为基础的一种数据格式,其基本单元被称为节点,场景图规定了节点之间的等级关系与嵌套关系。
vrml总共定义有54个节点,它大致可以分为如下几类:
造型节点:用于表示各种基本的几何体和用于任意几何体的线框图和面框图。
属性节点:用于定义相关对象的颜色、材质、纹理以及摄像机组、灯光组、视点、背景等。
组节点:用于将节点分组,把相关节点组合成为同一个对象。
vrml 使用符合右手规则的三维坐标系统,原点在屏幕中心,它也是使用这一坐标系统的各种几何体的中心。所以,当根据构图要求,某个几何体的中心不在屏幕中心时,就需要移动坐标系统,即使用transform节点,在该节点内定义的几何体都使用该节点中所定义的平移后的坐标系统。
最后,在场景图结构中需要提及的group节点,即组节点。由于vrml只提供最基本的几何体,因而,要表现一个三维对象或场景,设计者只能通过组合这些基本几何体来实现。group节点为这种组合提供了支持。vrml规定使用“#”来标记注释。
1.3vrml在本系统中的应用
系统的三维场景构建以后,将转化为适合网络传输的vrml节点形式,并向其中加入不可见的或者是空间景,声音,大气效果等对于整个空间有效地vrml节点,最终形成一个视觉效果好,真实感强的虚拟场景;在系统的交互方面,利用vrml的script节点用javascript脚本语言,完成系统的自主漫游,碰撞检测,视点切换等功能;最后将此vrml文档嵌入html中进行网络发布。
2漫游的实现:
虚拟漫游系统是一个以逼真的视觉、听觉、触觉为一体的特定范围的虚拟环境,它是一个真实的或假象的仿真虚拟空间,用户借