好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于VIRTOOLS的虚拟校园开发研究.docx

10页
  • 卖家[上传人]:ji****81
  • 文档编号:233698051
  • 上传时间:2022-01-02
  • 文档格式:DOCX
  • 文档大小:153.38KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    •     基于VIRTOOLS的虚拟校园开发研究    李一晴++王庆翠摘 要:借助虚拟校园可以方便、直观地了解学校相关信息,因此,虚拟校园是数字化校园建设的重要组成部分文章介绍了虚拟校园开发所涉及的三维模型素材制作的一般方法和技巧,给出了在virtools平台下交互漫游控制和交互式信息展示的逻辑实现方法采用文章介绍的方法开发的某中学完整的虚拟校园系统画面逼真,可通过网络流畅运行关键词:虚拟校园;虚拟现实;数字化校园;virtools:G40-057 文献标志码:A :1673-8454(2017)03-0094-03一、概述虚拟校园是借助虚拟现实技术,通过三维图形真实地再现校园的建筑规划、部门分布等情况三维虚拟校园最大的特点是具有较好的沉浸性、交互性和较强的视觉真实感[1]借助虚拟校园可以足不出户地实现校园内自由漫游,全面真实地了解校园的教学、生活环境以及软硬件条件在图形显示的基础上可以配合语音和文本介绍,用户通过人机交互可以很方便直观地获取校园相关信息虚拟校园已成为数字化校园建设的一个重要组成部分在近年来,随着计算机技术的发展和学习的兴起,又赋予了虚拟校园新的内涵虚拟校园的功能不仅仅在于校园浏览和信息导航功能,还可以与教育相融合,通过模拟真实课堂塑造虚拟学习空间,能有效地促进学习效果。

      [2][3]虚拟校园最核心的部分是校园漫游和交互式信息查询功能校园漫游使用户能通过简单的交互操作在校园里任意行走;而交互式信息查询功能使用户能够有选择地查询相关信息,如用户利用鼠标选择物体对象,系统则通过语音、文本或视频对其进行介绍可用于开发虚拟校园的虚拟现实工具有很多,如Virtools、Unity3D、Quest3D、VRP等此外,一些三维游戏引擎也可以用来制作虚拟校园,我们利用Virtools开发了山东省实验中学西校区的虚拟校园本文将基于Virtools平臺,介绍虚拟校园制作中的场景构建、漫游控制以及交互式信息查询功能的一般实现方法二、Virtools简介Virtools是法国达索(Dassault system)公司开发的一款虚拟现实和游戏引擎,也是最早的应用最广泛的虚拟现实开发平台目前已被广泛应用到游戏开发、工业仿真、场景展示和教育训练等领域上海的网上世博会就是达索中标并开发的Virtools 有如下几个特点:(1)采用可视化编程将完成某个功能的程序段封装成独立的功能模块(Building Block,简称BB),每一个BB用一个方形图标来表示在编辑作品时,只需要根据程序的执行逻辑将不同的功能模块连接起来即可。

      这种可视化的编程方法极大地降低了对程序设计能力的要求,一般的美工也可以学会2)功能强大齐全Virtools 本身给开发者提供了用户可直接使用的功能强大的程序模块,包括运动控制、物理模拟、角色控制、实时渲染以及人工智能等同时支持各类虚拟现实硬件设备和各种形式的立体显示3)可扩展性除了采用系统提供的BB之外,开发者可利用Virtools提供的脚本语言编程生成新的BB,也可以利用其提供的SDK编程实现更复杂的BB程序、管理程序、播放程序和渲染程序等给开发者提供极大的灵活性Virtools是一个完整的虚拟现实整合开发平台,但并不包含三维建模功能三维模型素材需要借助其他三维软件来构建相关的Virtools使用说明请参阅其使用手册[4]虚拟校园开发使用的程序模块并不多,主要使用了交互控制、碰撞检测、声音播放和文本显示等BB 本文将从场景制作、漫游功能的实现、信息查询和显示等方面介绍虚拟校园的制作方法三、场景构建Virtools中使用的模型、纹理等素材采用专门的文件编码格式,利用其他软件制作的素材需要统一转换为Virtools 的专有文件格式,文件名为*.NMOVirtools为3Dsmax、Maya等三维软件提供了文件导出插件。

      三维素材的制作可利用这些三维软件进行建模,然后将三维模型导出为NMO格式的文件NMO文件可以包括三维模型数据、材质数据、动画数据、纹理、角色骨骼等我们以3DsMax为例来介绍Virtools三维场景的构建方法1.纹理烘焙与顶点着色虚拟校园最基本的一个要求是能够实时交互,一般渲染速度要达到30FPS以上加速渲染最直接的办法是减少场景中的多边形数目[5]和光照计算[6]在多边形面数较少的情况下,模型的表面细节应尽量使用纹理来表现3dsmax提供了纹理烘焙功能,采用纹理烘焙的作用主要有两个:一是可以将3dsmax模型上的多个纹理图片整合成一个,能减少纹理数目,便于项目的管理,同时减少渲染过程中的CPU负担;二是可以将灯光、阴影等效果渲染到纹理,然后利用烘焙后的纹理再对模型进行贴图,这样我们在Virtools里可以不使用灯光,只需要显示纹理也可以得到光照效果在Virtools里的材质设置里,有几种纹理融合模式(Texture Blend),常用的融合模式是ModulateAlpha、copy和Decalalphacopy和Decalalpha模式不需要光照就能直接显示纹理图案因为我们在Virtools里不使用任何灯光,所以最后需要Texture Blend设置为copy或Decalalpha。

      三维图形的渲染一般是通过模型顶点法向、光照法向和观察方向来计算出每个顶点的颜色值,然后通过插值计算出所有像素的颜色值顶点着色可以直接指定每个顶点的颜色,从而避免顶点颜色的计算在3Dsmax中的顶点属性栏目里可以直接指定顶点颜色但这种方法需要事先预测出每个顶点的颜色,而且不能产生遮挡阴影的效果在虚拟场景的构建中,顶点着色一般只用于光照效果比较简单的模型上(如建筑中的圆形柱子)采用顶点着色的模型在导入到Virtools中后,必须将模型网格的光照模式设置为prelit模式,才能正常显示模型颜色 总结起来,三维模型素材的制作过程如图1所示:2.植物素材制作校园中的花草、树木、草坪等物体形状非常复杂,很难采用标准的多边形模型来表示,即使能够采用多边形建模,数据量也会非常大,无法达到实时性的要求对于这类复杂物体,利用图像替代模型是一个有效的方法图像替代方法的基本原理是将树木或花草的照片直接显示在一个平面上,同时利用透明通道将树木之外的像素变成透明图像替代物可以是单个平面(称为布告板),也可以是两个垂直交叉的平面布告板法是让图像平面的方向随着视点位置的改变而改变,使图像平面的法线始终指向视点如图2a所示,当视点从位置1移动到位置2时,图像平面跟着旋转,使用户看到的图像始终是一个没有变形的图像,这样就避免了在一侧看到的树木只是一个平面的现象。

      但是当视点移动时,有时会注明显地注意到树木在旋转十字交叉法使用两个互相垂直的平面同时显示一幅树木图像,如图2b所示,这种方法可以避免旋转,同时视点在任何位置都能看到完整的树木图像十字交叉法能够较好地表示树木、花草,对于整体形状较规则而枝叶细小的灌木和草地,可以在规则的几何体上直接进行纹理贴图四、动画演示与交互式漫游校园漫游要包括动画演示和交互漫游两个功能动画演示中,采用一个主相机沿既定的路线移动,在移动路线中根据需要设置驻留点,在驻留点配合语音、文本或视频介绍学校的历史、文化和软硬件条件等交互式漫游通过键盘来控制相机移动因为相机运动中还要考虑碰撞检测和地板约束问题,而相机不能直接进行碰撞检测和地板约束,可以创建一个三维虚拟体(3D Frame)作为相机的父对象带动相机运动,并利用三维虚拟体参与碰撞检测和地板约束1.相机移动在动画演示中,设置若干条相机移动路线,相邻两条路线在驻留点处相接在Virtools中没有直接提供物体沿曲线运动的BB,可以利用Bezier Progression 和Posutuion On Curve两个BB來实现相机运动在Bezier Progression里设置运动时间和输出值的变化曲线,将其输出参数Progression(输出值的百分比)传递给Position On Curve的输入参数Progression,Position On Curve利用该值来控制相机在曲线上的位置。

      图3示意了动画演示过程中相机沿曲线运动的BB逻辑图,图中Wave Player用于播放语音介绍交互式漫游中,以键盘或鼠标来控制相机移动,利用Key Event检测某个键盘是否按下,用Translate 和Rotate 来移动和旋转相机图4是键盘控制相机运动的BB逻辑图,图中的Object Keep On Floor是用于地板约束的BB,Object Slider为碰撞检测2.导航图显示在漫游过程中,导航图的作用是在校园的平面示意图上显示当前用户所在的位置导航平面图和当前位置的指示箭头利用2D Frame来显示位置箭头要随着相机的运动而移动,这需要得到当前相机在世界坐标系XY平面上的坐标,然后将该坐标变换到平面图的2D Frame内的坐标位置变换方法是:xp=,yp=其中(xp,yp)是当前位置相对于平面图2D Frame的坐标,(minx,miny)是平面图表示的校园场景在三维空间中的最小的(x,y)坐标;width和height是校园场景在XY平面上的宽度和高度上述计算除了可利用专门用于各种数学与逻辑运算的BB(如Calculator和Op)来完成,也可以利用Virtools提供的参数操作来实现。

      指示箭头的定位则利用Edit 2D Entity 来实现五、信息查询当用户漫游于校园时,需要有选择地了解部分教学设施的相关信息,可以利用鼠标选择物体,系统会调出该物体的信息介绍在Virtools中,交互式信息查询的实现过程是:首先根据用户鼠标点击选择对象,然后判断选择的对象是什么,最后显示对应选择物体的文本或语音介绍图中,2D Picking用于检测鼠标选择的物体,Test用于判断当前选择的物体是不是某个特定的物体,如果是,则利用Show来显示该物体的文本介绍,并利用Wave Player播放该物体的语音介绍;如果不是则继续判断是否为其他物体由于Virtools不支持中文显示,在显示文本时,需要将文字制作成图片,然后作为纹理贴图到2D Frame,显示2D Frame即可显示文本六、总结在我们开发的山东省实验中学西校区虚拟校园系统中,三维模型共有多边形面片39137个,纹理图像64M,声音与视频有43M该系统在4M网络环境下和一般低端配置的笔记本电脑上能流畅运行,帧率均达到40FPS以上本文总结了虚拟校园核心模块的一般设计和制作方法在不同的制作平台上,实现的方法和技巧也有所不同,本文基于Virtools和3D Max,从场景素材制作、动画展示、交互式漫游控制和信息查询等方面给出了虚拟校园的一般实现方法和制作技巧。

      希望对数字化校园设计者和开发者有所启发参考文献:[1]胡小强,虚拟现实技术基础与应用[M]. 北京:北京邮电大学出版社,2009.2.[2]韩庆年.国外高校3D虚拟校园设计与应用述评[J].中国教育信息化,2012(9):17-21.[3]李峻峰.虚拟现实技术与虚拟校园的研究与实践——以潍坊学院虚拟校园建设为例[J].工程图学学报,2011(3): 62-68.[4]Carthy C M and Callele D. 3DVIA Virtools User Guide[M]. Dassault system, 2006.[5]乔振华.基于Virtools的虚拟校园漫游系统的研究和实现[D].广西师范大学,2014.[6]吴元峰,李大锦.一个煤矿作业仿真系统的开发[J].系统仿真学报,2012(1):184-187.[7]申小春,谢同祥,黄立冬.基于3DSMax&3DVRI的虚拟校园漫游系统的设计与实现[J].现代教育技术,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.