虚拟场景技术的实现
- 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漫游的实现:
虚拟漫游系统是一个以逼真的视觉、听觉、触觉为一体的特定范围的虚拟环境,它是一个真实的或假象的仿真虚拟空间,用户借
助一定的装备在虚拟环境中进行虚拟漫游,从任意角度对虚拟环境中的对象进行观察,从而产生身临其境的感觉,同时也能对物体进行操作和规划,满足用户的所需要求。
它的工作主要由2部分组成:三维场景的建模和漫游引擎的实现.三维场景建模就是构建虚拟校园环境,是漫游系统设计的核心问题之一.因为3dsmax是实时仿真建模软件,且是一个高效,优秀的视景模型开发工具,它的优势在于模型的迅速生成及浏览,能高效快速的实现实时场景的绘制,所以,选择3dsmax完成三维场景建模。
而其所完成的校园模型是静止不动的,此时应该让模型动起来,才能让参观着有身临其境的感觉。
漫游引擎主要用来控制和渲染三维场景,考虑到与3dsmax的相互配合,校园漫游系统选用vrml作为漫游引擎,在安装ie插件bs_contact_vrml-x3d,在3dsmax中导出所建立的场景模型,根据观察者的位置、光照、消隐信息,在计算机显示器上输出绘制渲染的图形画面,从而完成虚拟校园场景的漫游.这时可以直接用ie打开预览。
vrml主要通过设置路径,设置插补器及编写脚本成程序实现交互能力。
产生的事件可以通过route到目的节点而引发新的事件或者得到新的位置,颜色值,并把新的数据传送到场景中,从而引起变化。
利用他们可以实现基本的交互功能。
如浏览者点击鼠标引起视点的变化,位置的变化等。
虚拟校园中动画的实现是视点移动,场景不变。
原理是将化身和视点绑定,化身初始化在文件中遇到的第一个viewpoint视点上,当改变场景视点时,化身的位置和朝向
一并改变,因此观察着可以看见不同的场景。
利用vrml中的positioninterpolator, orientationinterpolator节点,同一时间值对应点的坐标和朝向,随时间的改变,点位置和点的方向是不变的改变,从而实现自动漫游。
默认的情况下,vrml场景的物体是不能穿越的,碰撞检测将占用大量的cpu工作时间,为提高对复杂物体的碰撞检测速度,可以使用collision节点的proxy域来指定某一更为简单的规则几何体作为该形体的代理,从而提高对于复杂物体的碰撞检测速度。
3 结论
虚拟校园漫游系统采用虚拟性显示技术,增加了三维场景,具备实时的三维空间表现能力和人机交互的操作环境可以给用户带来身临其境的感觉。
本文主要从虚拟校园可视化模型的建立方法讨论了虚拟校园环境的设计,验证了技术路线的可行性,掌握了场景建模和可视化理论的实现和方法图6-1给出了自建模型虚拟校园在浏览器中的效果:
4参考文献
[1]王志达,叶伟.vrml虚拟现实网页设计.清华大学出版社,2006.12
[2]张金钊等 .vrml编程实训教程.清华大学出版社,2008.1
[3黄涛 .vrml虚拟建筑原理 .中国工业建筑出版社,2008. 5
[4]陆昌辉 .vrml入门与提高 .北京大学出版社,2003.1
[5]胡小强 .虚拟现实技术与应用 .高等教育出版社,2004.5
[6]顾翔,王汝传. internet上的虚拟现实建模语言—vrml[j]. 电子工程师,1999,(6):10-13。
[7] 姚俊毅.基于vrml的建筑物虚拟漫游[d]. 中国优秀博硕士学位论文全文数据库(硕士),2005,(06)。