三维儿童火灾逃生教育系统的开发
2020-12-06周正
周正
摘 要:火灾逃生教育对普及消防知识、增强火灾时儿童的自救能力有极大的现实意义。传统的安全教育方式内容死板僵化,难以激发儿童的参与兴趣。为了引导儿童学习火灾逃生知识,本文通过3D建模和人机交互等技术开发出一套三维儿童火灾逃生教育系统,让儿童在三维火灾场景中自由操控角色模型,进行火灾逃生自救演练。本系统开发设计了场景浏览、物品选择高亮显示、逃生导航、题目测试等功能,以玩游戏的方式很好地吸引儿童注意力,让儿童在场景互动中学习火灾逃生的基本知识。
关键词:3DS Max;三维建模;火灾逃生;Unity3D
中图分类号:TP18;TP391.9 文献标识码:A 文章编号:1003-5168(2020)29-0033-03
Abstract: Fire escape education is of great practical significance for popularizing fire fighting knowledge and enhancing children's self-help ability. The content of traditional safety education is rigid, which is difficult to arouse children's interest in participation. In order to guide children to learn fire escape knowledge, this paper developed a three-dimensional scene through 3D modeling, human-computer interaction and other technologies, so that children could freely control the role model in the three-dimensional fire scene and carry out fire escape self-help drills. The system has been developed and designed with functions such as scene browsing, item selection highlight display, escape navigation, question test, etc., which can attract children's attention by playing games, and let children learn the basic knowledge of fire escape in the scene interaction.
Keywords: 3DS Max;3D modeling;fire escape;Unity3D
近年来,火灾成为威胁人们生命及财产安全的重要隐患[1]。由于缺乏逃生经验,在火灾发生时,很多人失去了逃生机会,带来惨痛教训。儿童作为弱势群体,如何提高自救能力成为当前热门话题和努力方向。传统的火灾安全教育方式如知识宣讲、观看纪录片等具有朴实性、专业性,可以在一定程度上普及自救知识[2],但难以引起儿童的观看兴趣。现场演练等消防教育方式实践性强,但部署安排成本较高,不便开展,存在一定局限性。当前,虚拟现实技术(VR)的普及也给体验感和参与度的增强提供了可能,因此通过创新以实现趣味性教学来吸引儿童的消防知识学习兴趣非常重要[3]。
针对儿童火灾知识宣传,国外的消防培训做了很多努力。比如,美国学校设置烟雾、自动喷淋和报警等全新的消防项目,法国在火灾调查培训实验室进行燃烧试验,可模拟不同的场景让学生身处其中进行培训。除打造实体火灾来增强实践性外,国外也青睐于使用虚拟仿真技术。例如,法国民事安全实务学校20多年前就与荷兰的XVR公司合作,将常见的森林火灾、洪涝灾害作为基础场景,并设置出进阶场景,加入一些障碍,如风向突变、人员被困等突发情况,以增强学员的应急应变能力[4]。国内在虚拟现实技术的运用上发展起步较晚,上海市民防科学研究所研制的防灾AR相机将虚拟现实技术应用于防空防灾科普宣传,属于国内首创。
基于当前的背景,本文利用虚拟仿真技术模拟火灾逃生教学场景,優化用户的体验感和参与感,让系统变得更具有便捷性、实用性。利用3D建模制作小区电梯房场景,在此基础上使用Unity3D来做好火焰、灯光等辅助效果。环节设置上,让用户根据引导和指示以及自己的判断来完成相应逃生任务。通过三维模型直观地让儿童进行逃生演练,以达到消防教育的目的,为将来儿童应对突发事件做好充分准备。
1 系统分析和方案设计
1.1 需求分析
本设计研究开发一款用于当室内突发火灾后,如何快速进行正确逃生的教学系统,所以三维模型和室内场景的搭建是重中之重。角色的搭建和动画不仅要满足场景功能需要,还要实现相应的交互功能,如移动漫游、鼠标点击,让用户获取信息并实时交互等。由于用户目标是儿童,在显示和提示的体验感上要具有一定的吸睛效果,最后为了巩固和检测儿童使用本系统的学习效果,通过设置选择题的方式进行考评。
1.2 系统功能需求分析
为了能够完美模拟火灾现场,起到对儿童的教育意义,本系统需要具备以下基本功能:设置背景音乐、警报和倒计时来模拟火灾突发时的情形;设置火焰粒子和烟雾粒子模拟逼真失火场景;角色相应动画切换,如走路、弯腰;设置必要的路线方向指引以及高亮显示重要物品来提示儿童逃生;附上部分火灾逃生教育教学视频和测试题,巩固学习效果。
系统的模块主要包括场景设置、功能实现等。
2 系统设计开发
2.1 模型建立和场景搭建
本系统中的模型通过观察现实生活中的室内布局或在网上查看精装修图片后使用3D Max建模。场景的搭建是在Unity3D中实现的,场景当中的物体都要添加Box collider碰撞器,避免出现直接穿过的情况。
为了增强逼真度,在设置好场景后,要进行光源的布置和设置火灾发生后的火焰粒子效果。
2.2 系统功能开发
2.2.1 页面设计。本系统的界面设计主要运用Unity3D自带的UGUI插件来完成。导入成功后,在场景中通过鼠标右键选择UGUI菜单上的各类控件进行添加[5]。
页面设计的大致流程为:在本系统中建立一个新场景用于页面设计,点击右键选择新建UI,在Canvas下面选择创建一个新的Image并为Image添加一张合适的图片作为背景图片。部分页面显示效果如图1、图2所示。此外,为了让系统运行流畅,设计出简单的进度条来做好场景之间的衔接和切分。
2.2.2 倒计时功能实现。本系统采取的教学模式为用户先在室内随意浏览,过一段时间后再突发火情,用户能大致感受在虚拟场景中的火灾环境,以减少陌生度,在逃生和灭火模拟中会有更加真实的体验。倒计时功能的设计就是为了完成从自我浏览到突发火情的过渡,使系统运行的环节衔接得更为流畅,同时倒计时的音效提示也对营造火灾突发时的紧张气氛能起到一定作用。
实现方法:通过编写C#脚本代码进行控制。功能实现时主要用到了协程的方法,即在主线程外开启的线程,从而可以在不影响主程序运行的情况下运行协程内的代码,保证用户在倒计时期间内也可以正常操作。
2.2.3 导航功能实现。初次接触该系统的用户在初期漫游时会缺乏目标性,为了方便用户快速高效地根据提示完成指定流程,设置一个引导线对用户进行简单的指引显得非常重要。
实现方法:编写控制导航条的脚本,当角色触碰到相关碰撞器时,触发脚本。主要通过不断对带箭头的图片进行后台切换,表现出箭头的闪烁提示和往前铺过去的效果,导航功能实现效果如图3所示。
2.2.4 高亮功能实现。在一个虚拟的室内场景中,为了追求效果的逼真度,往往通过摆放大量实体模型来增强生活气息。面对众多的物品,靠儿童自己去盲目寻找指定模型不仅困难而且意义不大,所以火灾逃生相关物品将进行高亮显示。
实现方法:对于物体边缘进行高亮和闪烁的显示,通过Highlighting Plugins插件实现,通过插件当中的C#脚本进行控制,将脚本添加给特定情境下需要实现高亮和闪烁的物体。若系统检测到用户移动触碰到某一物体,就会触发脚本并实现该功能,让用户一眼能看到从而快速选中。
2.2.5 音频功能实现。为了还原火灾中紧张的氛围,使用警报等声音是至关重要的。这里用Unity插件来完成音视频的导入。
实现方法:视频加载在Unity3D中主要通过AVPro Video插件完成。首先导入插件,然后选择合适的UI位置,添加一个播放按钮(包括播放、暂停、播放下一个、进度条、音量按钮等)。
2.2.6 测试题库功能实现。为了巩固用户的学习效果和加强对火灾逃生相关知识的记忆,本系统通过加设题目来检测学习成果。考虑到部分儿童不具备使用键盘进行打字的能力,因此题目以选择题为主,通过鼠标点击正确答案,即可快速考验他们的学习成果。
实现方法:新建一个文本,在文本中按顺序列出10个题目和对应选项,在后面标注出正确的选项号。作为功能开发的基础,将其导入项目文件夹中,通过C#脚本的编写来控制题库中数组的遍历,检测并捕捉到用户输入的答案并和题库中给出的标准答案进行对比,判断正误后更新正确率,并给出相应的语音提醒。測试题显示效果如图4所示。
3 结论
为了引导儿童学习火灾逃生知识,本文利用3DS Max制作火灾场景模型,利用Unity3D制作人机交互、火焰粒子效果、动画显示等功能,最终设计开发完成了一套三维儿童火灾逃生教育系统。该系统实现了场景浏览、人机交互、导航显示、倒计时提醒和问题测试等基本功能。该系统能直观地让儿童进行火灾自救演练,可以更好地激发儿童学习兴趣,以达到消防教育的目的,为将来儿童应对火灾突发事件做好准备。
参考文献:
[1]杨镇豪,田垒,朱留川.基于Unity 3D的火灾逃生模拟系统的实现[J].电子技术与软件工程,2018(1):52-53.
[2]王瑜.基于虚拟现实的儿童火灾逃生游戏的设计与开发[J].伊犁师范学院学报(自然科学版),2018(3):59-63.
[3]何岗,李俊,张锋.基于Unity3D的消防3D情景实训系统的设计与实现[J].软件产业与工程,2014(6):43-48.
[4]陶亮.3D火灾逃生模拟系统设计与实践[J].沈阳农业大学学报(社会科学版),2007(5):779-782.