• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 日记 > 正文

    【基于VRML虚拟现实技术的复杂场景构建技术分析】 虚拟现实技术未来发展

    时间:2019-04-07 03:24:05 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

      摘要:随着网络技术和硬件设施的飞速发展,虚拟现实技术已经成为未来数字化社会的主流技术。本文首先讨论了虚拟现实场景的构建过程,然后针对场景范围大、复杂度高的虚拟场景构建过程中不同阶段的关键技术进行探讨,包括模型优化、LOD技术、交互动画、视点绑定等,并以虚拟住宅小区为例,提出最佳的可行性方案。
      关键词:VRML 虚拟现实技术 复杂场景 构建流程
      虚拟现实技术(Virtual reality technology)是20世纪末才兴起的一门崭新的综合性信息技术。建立虚拟场景的目的就是为了展示现实生活,使人达到身临其境的效果,而现实生活中有许多细节部分,这就需要构建复杂度较高的虚拟场景,但随着复杂度的增大,浏览速度必然受到一定的影响,实时交互性往往受制于场景的复杂度。目前大规模复杂场景的快速浏览是虚拟现实、三维交互设计等许多重要应用的底层支撑技术,也是诸多研究领域面临的一个基本问题。
      本文就复杂场景——虚拟小区进行探讨,对构建流程中的关键技术逐个分析,对场景进行简化和优化,实现场景的实时交互和快速浏览,这对住宅小区的设计和规划具有重要的意义。
      1 复杂场景的构建流程
      目前,对于虚拟场景的制作没有统一的流程,本文根据个人的制作经验总结出复杂场景的构建流程,共四个阶段,八大步骤,2 关键技术分析--以虚拟住宅小区的构建为例
      2.1 虚拟场景整体设计
      在对虚拟场景进行设计前,必须对虚拟住宅小区的整个场景进行规划,合理的规划对以后的构建流程具有重要的意义。设计者将该住宅小区场景分为居民住宅区和生活区两部分。住宅区有别墅区和公寓区(小户型和大户型)构成,生活区由超市、餐厅、健身房和公园四部分构成。在进行虚拟空间的浏览参观时,参观者可以与某些物件进行实时交互的互动操作,如:感应门、水龙头开关,电气设备的使用等。将大的场景分为多个相对独立的小场景,通过虚拟现实建模语言(Virtual Reality Modeling Language,简写为VRML)中的ANCHOR节点来实现各场景之间的连接和转换。2.2 模型制作
      2.2.1 3D模型
      规划完后即可根据其内容建立所需模型。首先开始分析建筑物的外形特性,主要是建筑物的曲面及规则性,并绘制出草图。由于在建模时,要保持建筑物的比例协调性,保证模型放入场景后不会产生变形失真,而对于规则性的模型如窗户都是大同小异,则可建立一个原型后重复使用,因此,可根据模型的构建要求,再将其分解成较小的单位模型。
      在分解模型时,要尽量保持模型的独一完整性,以减低将来组合时的差异,这是因为物件之间会有碰撞性,如果两个物件必须要互相穿透才能接合,会产生不可预期的显现结果。此外,将来组合后会被隐藏的面要事先删除,以免由于物件的碰撞性,使物件组合后,在物件之间产生细缝,反而使得这些隐藏的面被显示出来,造成不正确的建筑物外观。
      虽然VRML虚拟现实建模语言提供了完善的建模节点,但要建造复杂的三维实体,其工作量还是巨大的,因此可使用常用的3D软件进行建模,如3DMAX、Pro/E、UG等。本设计利用3DMAX来建立模型,再导出VRML格式的*.wrl文件,最后在VRML编译环境下进行优化,这样,既保证了模型的逼真性,又提高了系统的开发效率。
      2.2.2 贴图
      模型建造完成后,为了保证一定的真实性,常用一些简单的框架来代替复杂模型,可采用贴图的方式来弥补视觉上的不足,主要涉及以下两种技术。
      (1)透明纹理映射技术。透明纹理的应用大致可以归纳为两类:①如桥梁的栏杆、车站的站牌等,其自身的厚度可以近似为零,即从它们的侧面看,只是一个单面,对于这类透明纹理处理比较简单,直接映射上去即可;②如树木、路灯、雕塑等本身的厚度不可忽略,即从任何角度看,都应该出现一个类似柱体的透明纹理。对于这类物体的处理比较麻烦,需使用公告牌(Billboard)技术。
      公告牌使用布告板节点,可固定于某一点,绕一轴或点旋转的多边形,允许在场景中使用二维图像来模拟三维造型并旋转,始终面对观测者。既可以节省大量的资源,提高速度,又不影响真实效果。例如树木的制作,如果用实体模型去模拟,可能一棵树就要好几千个面片;如果采用Billboard技术,只需要一个面就可以了,效果还可以。但其缺点是,如绕着Billboard的面快速转动,可以看出这个面在转动,从高空看效果不理想。
      (2)多细节层次(Levels Of Detail)技术。多细节层次(Levels Of Detail,简写为LOD),是指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得较高的渲染速度。对同一物体而言,细节度越高,所需的多边形数目就越多,模型的显示效果就越详细,但渲染所花费的时间就越多。虚拟小区中包含各类建筑、植物以及人工湖等景观,数据量非常大,要保证渲染的实时性,就要对场景进行组织管理,否则将会产生跳动感,严重影响虚拟现实的效果。当物体越来越远时,物体变得越来越模糊,就无法再辨清该物体上的细节结构。另外,当物体在屏幕上所覆盖的区域比较小的时候,没有必要用该细节较复杂的模型。否则,容易造成走样,不仅影响视觉效果,而且浪费大量CPU处理资源和处理时间。
      在构建LOD模型时,应遵循由近到远的顺序,即先建立精细的近景模型,再逐步简化到中景和远景模型,这样有利于保持模型效果的一致性,避免因为远景模型创建的不合理而影响近景的制作。使用LOD技术能够控制场景复杂度,确保交互漫游的实时性。
      以小区住宅楼LOD设置为例,在距离楼房0到50米之内,使用细节层次复杂的模型;在距离楼房50米以上时,使用细节层次简单一点的粗略模型。
      2.3 实时交互与实现
      2.3.1 交互
      交互性作为三维虚拟场景的一个重要特性,它改变了当前网络与用户交互的局限性,浏览者不再是被动的接受信息,可以与场景进行交互,使得动画、光照及声音等效果逼真呈现,产生身临其境的感觉。   VRML允许用户的行为能够实时作用于场景,用户不仅可以在场景中随意漫步,甚至可以随时启动一个“事件”,比如水龙头的开关、房间内物体的摆放等。这种人机交互是建立在事件的基础上的,通过路由将节点链接为事件是使VRML具有动态交互能力的机制。用户在漫游的同时,可以从场景中获取有关的隐含信息,如通过打开一本书阅读相关文字和图片。VRML的定位器节点Anchor提供了解决这些技术的能力,通过鼠标点击Anchor节点的子节点,可以将用户带入一个新的URL,此时的URL可以是浏览器能够理解的任何类型的文件,如音频、图片等。
      2.3.2 动画
      动画是人为设置的、随时间规律变化的场景效果。VRML依据一个给定的时间传感器以及一些类的插补器节点对场景中的动画进行控制。基本思想:由时间传感器给出控制动画效果的时钟,该时钟包含了动画效果的开始时间、停止时间、循环周期、是否循环等动画控制参数;然后通过该时钟的事件输出在虚拟世界中驱动插补器节点产生相应的动画效果。
      利用单纯的VRML语言只能实现静态的三维场景或简单的动画,而不能实现复杂的动画。VRML提供了一个Script脚本节点,通过该节点中的url域并利用Java、JavaScript等语言编写程序,可以在VRML场景中实现可控制的、交互性好的复杂动画。
      2.4 场景整合
      将所有制作出的模型在场景中做整合,利用坐标变换节点,对单个场景按照整体设计的要求对其进行整合。对于那些使用较多的节点,使用原型技术对单个物件进行搬移、复制,如马路两旁的路灯等,把所有的物件进行组合。在这个过程中,可能会发现组合上的问题,如尺寸比例错误或是无法密合,则可以再对模型做修正。
      由于虚拟现实的特色在于建筑物的真实性,但真实度越高时,电脑的运算量越大,会减低系统的流畅度。当一个场景存在的所有物件,其复杂度越高,执行速度就越慢。因而当建筑物组合后,可以利用群组节点把建筑物内所有的物件组合成一个大物件,方便整体的操作,并将其他的景物如树木,桌椅等放进场景中。针对所希望的执行效率和浏览者的路径,在场景整合时还要根据规划要求,把密切相关的场景组合在一起,适当减少场景的复杂度,增加场景的读取流畅度。2.5 视角导航
      在完成场内的物件设计后,就可以设定使用者浏览的视角,包括视角的范围与高度。理论上,虚拟场景中的视角是可以设在任何地方,且可以朝着任何方向移动,甚至是穿透建筑物。但这是在现实生活中办不到的,且在实际制作上,还会限制使用者移动的范围,来简化场景的制作,如远方的房子或山可利用贴图来达到,这时就不能让使用者太靠近。
      在交互式漫游场景中,为了使访问者迅速地被带到一个比较理想的位置与方向,并实现目的的漫游,为此在场景中的一些主要入口处、出口处及较重要的位置处须设置视点,用户通过一定的方式如鼠标点击或感应等与场景中的实体进行接触,从而快速地找到所需位置,但当开始进入一个虚拟世界后,用户的视点会被自动放在文件中遇到的第一个视点Viewpoint节点上,因此,要将所希望的视点转变为当前视点就必须在场景中加入控制视点的机制。VRML2.0中实现这一功能的机制为绑定,它利用Script脚本节点和浏览器提供的接口,如Javascript、Java等,来对VRML2.0功能的扩展并在场景中加入控制按钮,就可以让用户交互地控制视点的开与关,并将自己绑定到当前视点的位置上。本设计中运用Javascript,把视点与角色的运动路径绑定,场景根据角色所处的位置产生变化,增加角色在场景中浏览的真实感,模拟超市购物的场景。
      2.6 本地测试
      当所有的物件及视角都设定完成后,可运行主程序对场景进行测试,包括视点浏览和自主浏览,关注场景的流畅性,以及支持高效、高精度碰撞检测算法。可自动完成对任意复杂场景的高效碰撞检测,对建模基本没有限制。能够正确的处理碰撞后沿墙面滑动(而不是停止),楼梯的自动攀登,对镂空形体(如栏杆)以及非凸多面体的精确碰撞,以及正确的处理多物体碰撞后过约束的情况。还可以实现碰撞面的单向通过,隐形墙以限制主角的活动范围等功能。
      接下来针对场景的执行效率加以测试。整个系统的执行效率与场景内物件模型的复杂度,材质数量及硬件的速度有关。就系统本身而言,如果执行效率不佳,除了降低模型复杂度,减少材质使用,分割场景等方法外,也可以使用LOD技术,依照一个物件距离使用者角距离的距离,来显示不同精细等级的模型。这样的做法虽然要针对一个物件制作多个模型,增加场景档案大小,但却可以在场景的完整度及执行效率中取得平衡。在系统整合与调整时,最重要的一点,就是要找使用者来试用。主要目的在于鉴定场景的真实度是否可接受。这是因为在制作时,可能因为各种因素,使得系统在制作时失真,因此使用者可以以第一直觉来指出失真的地方,提供开发者修改调整的依据。
      2.7 压缩优化
      2.7.1 简化虚拟场景,优化建模
      由于系统要在网络上进行传输,因此在响应速度和场景的真实性发生冲突时,在保证视觉上达到基本真实情况下,可以使用以下方法进行简化:(1)减少多边形的数目,提高执行的性能;(2)使用纹理代替多边形造型,既可美化场景又可提高性能;(3)使用灰度图的纹理;(4)尽量少用光源,这将有效地提高渲染的速度。
      2.7.2 优化代码结构,场景重用
      在建造虚拟世界的过程中,会存在很多相同的对象或许多对象用相同的材质作为纹理,如桌椅,篮球架等等。利用DEF和USE结构可以在一定范围内重用,这样程序的源代码就会减少很多。测试表明,若所有的模型都经过优化,整个文件可以减小到原来的二十分之一,且效果与优化前无太大差异。
      2.7.3 加快碰撞检测,提高效率
      碰撞检测要花费大量的处理时间,为提高对复杂物体的碰撞检测速度,可在Collision节点的proxy(替身)域指定某一更为简单的几何体作为该形体的替身,它与被替代的原形体占用大致相同的空间。这样,可大大减少检测时间。
      2.7.4 减少文件大小,压缩容量
      使用GZIP工具压缩VRML文件和相关的HTML文件,大约可是文件减小10~100倍。
      2.8 打包发布
      把虚拟场景的源代码、贴图以及运行所需的相关程序,如:VRML浏览器、Applet等进行打包,最后发布到服务器上,浏览者就可以通过网络以网页的形式来浏览这个虚拟场景。
      3 结束语
      本文以虚拟住宅小区为例,从设计到发布,分析了复杂场景构建中的各种关键技术。在本设计中,浏览者可以自由行走、从不同角度观看虚拟的小区,并可以进行人机交互,突破了传统三维动画被动观察无法互动的瓶颈,给浏览者带来难以比拟的真实感与现场感,使他们获得身临其境的真实感受。随着网络和计算机技术的发展,复杂场景构建过程中的各种关键技术中,还有很多内容有待深入探讨,以期在真实展现真实场景的同时,节省系统资源,提高渲染效率,以满足实时交互的需要。同时,我们也可以看到虚拟小区的交互漫游技术不仅有利于设计与管理人员对各种规划设计方案进行辅助设计与方案评审,还方便潜在业主了解小区外部景观设计及房屋内部构造,将是未来城市规划的发展方向。
      参考文献:
      [1]Rodger Lea, Kouichi Matsuda, Ken Miyashita. JAVA for 3D and VRML[M]. Word. New Riders Publishing.1996
      [2]陈华斌,王彤.虚拟建筑环境实时漫游系统的设计和实现[J].西南交通大学学报.2001
      [3]陈阿林,胡朝晖,祁相志.校园虚拟现实三维场景建模技术及实现方法研究[J].重庆师范大学学报.2007
      [4]杨必胜,李清泉,梅宝燕.三维城市模型可视化研究[J].测绘学报.2000
      [5]张秀山,徐荣花,胡庆丰,窦朝晖,刘杰,刘瑜.虚拟现实技术及编程技巧[M].国防科技大学出版社.1999
      [6]李欣.虚拟实验中复杂运动的交互与控制[J].计算机与现代化.2008
      [7]黄莹莹,彭敏俊,许岷.基于虚拟现实的数字校园漫游系统的设计与实现[J].应用科技.2005

    相关热词搜索: 虚拟现实 技术 构建 场景

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章