基于VR技术的防震安全教育软件的设计与实现

更新时间:2024-01-28 作者:用户投稿原创标记本站原创 点赞:9782 浏览:36288

摘 要 :本文分析了虚拟现实技术应用于防震安全教育的优势,设计了虚拟场景的开发方案,利用3DS MAX,Virtools等软件工具设计开发出了防震安全教育软件.为了验证虚拟现实技术在防震安全教育中的有效应用,还对该软件作了测试与评价.

关 键 词 :虚拟现实;安全;教育

中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2012) 04-0000-02

随着虚拟现实技术的发展与应用,使用3DS MAX等工具软件来开发防震安全教育软件,让用户能够通过观察不同场景下的地震逃生反应来学习正确的逃生技能.VR技术继计算机多媒体技术之后又一个在计算机科学界和工程界引起广泛关注的研究热点,它使人感觉到如同处在真实世界中一样,使人机之间的交互变得更加人性化.

一、可行性分析

从现有的技术可行性分析来看,基本的场景、人物角色动画的建模可以利用三维建模软件3DS MAX来实现;虚拟人物与场景的交互可通过Virtools开发工具来实现;作品的发布和浏览可以选择安装3DVIA Player插件的IE等浏览器来实现.


二、功能模块分析

(一)三维虚拟场景模块

作为软件呈现给视觉感官的主体,三维虚拟场景视图应该具有真实感、具有光照及阴影等效果.地震三维虚拟场景模块主要包括:山坡、教室、博物馆、街边、卧室.

(二)交互功能模块

为了便于场景中虚拟人物角色的控制,其交互功能的实现是利用菜单方式列出虚拟人的不同行为反应行为,供软件用户选择,不论选择正确与否均给予提示帮助信息.

三、总体设计

(一)设计方法

软件的设计采用了当今VR技术开发中的流水线绘制方法,即把整个工作划分为几个阶段,在开发中采用不同的开发技术和硬件资源.作为整个开发过程包括两条流水线,其一是三维场景模型的创建,即图形绘制流水线;其二是交互情景功能的创建,即触觉绘制流水线.

(二)功能模块设计

整个软件的结构包括:三维场景创建模块、交互功能创建模块、脚本发布模块.每个模块分为若干功能子模块.三维场景模块主要由虚拟场景中各种物体和人物角色模型所构成,其中又包括子模块:模型的参数设置、模型的建立、材质贴图、灯光处理、摄相机构图、场景组合.交互功能模块也包括子模块:场景的编辑、行为动作的设置、后期的整合.脚本发布主要在交互功能模块完成后进行.

四、详细设计

(一)三维场景模型的建立

本软件选用了3DS MAX进行模型的创建.根据实际需要将建立人物角色、教室场景、山坡场景、博物馆场景、卧室场景、街边场景等模型.从3DS MAX中输出的场景模型要导入进Virtools中,要成为Virtools的文件类型,应该安装针对3DS MAX输出的插件Virtools Exporters for 3DS,这样在利用3DS MAX创建完模型并输出时才有Virtools软件编辑所需的文件类型.人物角色动画的创建主要有行走、跑步、后退、下蹲、倒地几个动作.下面以行走为例,介绍角色动画过程:

(1)先要创建人物外形的角格,然后使用Biped创建两足动物(一个由在层次中连接的骨骼组成的简单骨架),在窗口中拉出一个骨骼人形,并调整大小.

(2)通过移动、旋转和两足动物部位以设置两足动物姿势,使之适应指定的角格,即将两足动物与模型对齐.

(3)设置两足动物的姿势匹配角格之后,将“Physique”修改器应用于角格并使其与两足动物相关联.设置两足动物骨骼的行走动画后,网格中相应的顶点将与每个两足动物部位一起移动.

(4)调整封套时,应从各个角度检查网格.当两足动物姿势更改时,测试动画也将展现出网格中的不同瑕疵.

(5)使用足迹设置人物角色的动画.

(6)从3DS MAX中输出人物角色动画导入进Virtools,与输出场景模型不同,在弹出的Virtools Export对话框中选择输出为虚拟角色动画(Export Animation Only).

(二)交互场景的创建

对于交互的实现,选择Virtools软件进行创作.在开发的过程中,利用Virtools工具创建互动场景通常分为以下七个步骤:开启数据资源库、添加三维场景模型、添加三维角色及动画、加入行为模块、测试效果、存储作品、发布.其中“行为模块”指的是一组用来描述该组件在特定的条件或既定的事件之下应如何行动或反应的描述文件.为了要使先前汇入的人物对象有随着键盘的指令在街道上四处走动,就需要添加一些“行为模块”到它的身上.在Animation选项中选择相应的动作:“run” 、“back” 、“pingtang” 、“xiadun”、“zhanli”.在Message选项中设定用于激发相应动作的传递信息.通过对不同动作的设定实现交互.

(三)交互功能模块详细设计

基于桌面虚拟现实的教育软件作为在防震安全教育中地学生进行模拟逃生训练的工具,除了模型的模拟,创建出逼真的视觉效果场景以外,还要创建出人在地震时的不同逃生行为,并提供及时的反馈.利用Virtools工具来开发,先将在3DS MAX中创建好的场景模型和人物角色模型、动画导入至3D Layout面板里,再进行行为模块的添加包括人物角色行为的设计和立体交互场景的设置等,最后完成可视化的场景对象效果播放和输出.其中,场景属性的设定由重力属性和碰撞属性设定两部分组成,重力属性设定如下:

(1)场景部分的设定.场景中属于地板的部分,必须设定地板的属性,这样人物角色才知道该站在哪一个物体上,而不会有漂浮在空中的感觉.

(2)人物主角部分的设定.在设定完成地板的属性后,还要再新增一个行为模块作用于角色上,告诉Character必须站在所设定的地板上.而若不设置碰撞属性,会有人穿墙或穿越物体而过情况发生,导致不真实的情景.本软件即采用Group方法.此法为较为方便,可以不用一一为每一个障碍物设定碰撞属性,只要将物体加入指定的Group,再由行为模组“Object Slider”控制即可.由于场景中有不同物体,每个物体的碰撞半径不同,因此需要设置多个组.通过试运行,调整半径参数Radius的设定值.整个场景触发事件由三个部分组成:

(1)整个软件的开始是通过按空格键.在该模块中,通过控制器行为模块Key Waiter,等待空格键的按下,激活,We Player声音,以播放地震时声音,由于人的视觉是通过摄像机实现的,因此地震震动效果须通过摄像机震动来实现,其功能由Camera Wer模块实现.

(2)人物行为控制.为了便于控制场景中的人物,本软件采用通过鼠标点选菜单按钮的方式来选择人在场景中的行为.人物角色在接收到传来的消息后,通过Charater GO TO行为模块的设置,到达场景中指定的位置,再通过Send Message行为模块,传递消息给人物角色,以激活二级动画,如下蹲、匍匐前进等.

(3)反馈的控制.当人物角色到达场景中的指定位置后,无论是否是正确的躲藏位置,都应给以相应的提示信息和地震时的动画效果.判断人物角色到达指定位置是通过检测碰撞辅助对象来实现的.当人物角色到达错误躲藏位置时,应有相应的地震动画效果.如到达阳台时,可能出现阳台和人物同时坠落的动画,又如人原不动,可能掉下楼板,将其砸伤,它们的脚本者相似的.

软件所有设计和开发完成后,可以把它输出成相应的VMO格式让装有3DVIA Player的IE浏览器进行浏览、演示和操作.文件以VMO格式输出后,启动IE浏览器即可进行基本的操作.

五、测试与评价

在软件设计与开发中不断进行试用,以测试软件的实用性和存在的问题,再不断进行修改,以达到前期预计的效果.设计和开发基于VR技术防震安全教育软件,更有利于知识的传达,有助于提高防震安全教育的教学效果,给受教育者留下深刻记忆.由于开发技术本身具有一定的难度和深度,过程中所消耗的时间和精力较大,在使用中还存在一些问题,需要进一步研究和探索,在不断完善软件各种功能的同时,再注入一些新的理念、补充更多的场景.