虚拟消防演练教学系统的设计与开发*

2014-11-27 12:41冯成舜石连栓
中国教育技术装备 2014年16期
关键词:粒子系统火势器材

◆冯成舜 石连栓

1 引言

随着城市的高速发展,火灾严重隐患不断增加,火灾已成为频繁发生的城市灾害,随时威胁着人们的生命和财产安全。如何避免火灾的发生,及时实施救援措施以及安全逃离起火现场等,已经成为人们关注的焦点。当前的消防宣传工作主要采用宣传栏、知识讲座、宣传手册、消防演习等方式,这种频数很少的消防宣传及演练,难以让受训者更快地掌握消防器材的应用、救援的注意事项及正确的逃生方法,同时传统消防演习会产生高额的经费和不必要的影响。

随着虚拟现实技术、计算机仿真技术等相关技术逐步应用于消防安全工程领域,使得上述问题得到了有效的解决。结合虚拟现实和消防科学,通过三维引擎实时渲染来构建一个“虚拟消防演练教学系统”。该系统可以让受训者或学习者能够在场景中实现角色和场景的选择、消防展馆漫游学习、消防演示学习、灭火救援、安全疏散等功能,具有高安全、高仿真、低成本、可重复、易学习等多种优点,在消防安全工程中的应用具有广阔的前景。

2 “虚拟消防演练教学系统”功能设计

本研究利用Photoshop、3Ds MAX、Virtools等软件进行开发,构建出一个具有信息显示、消防展厅、消防演练、灭火救援、火势评估等功能模块的消防安全应急虚拟系统。同时还提供自由漫游、交互式操作、人员疏散、紧急救援、灭火操作以及各类信息显示等功能。系统功能模块如图1所示。

界面系统 界面系统功能模块实现初始界面的展现,角色、场景的选择,以及系统各种信息的动态存放、提取及显示,包括了场景地图、生命值、装备、建筑、火势、消防设施、安全疏散等信息的显示功能。用户可以根据不同的信息做出决策,让学习者及时掌握各类信息,真切地感受到火灾现场。

消防展厅系统 该功能模块通过Virtools三维引擎在虚拟展馆中展示各种消防设备和器材且呈现高亮提示状态,并具有对其尺寸功能、适用范围、操作须知等信息的动态介绍。学习者操纵虚拟角色在消防展馆内漫游学习各种消防设施及消防知识。展厅中央虚拟屏幕播放各类消防器材使用和消防科普知识视频,实现虚拟环境中多元性和逼真性的学习。

消防演练系统 该功能模块又分为两个子功能模块。

一个是消防演习模块,学习者选择角色进入虚拟火灾场景,角色跟随并学习消防专家对消防器材的正确操作演示以及正确逃生等行为活动,并与学习者之前在展厅所掌握的知识相结合,形成知识的重构,加强对知识的掌握和领会。当角色漫游距离消防人员较远时,系统会提示危险操作信息,同时消防人员身上出现三维提示图标,在迷你地图上会显示出角色的具体位置,这样方便角色的跟随学习,避免学习者迷航现象。

另一个是消防救援模块。虚拟角色要进行灭火操作、人员安全疏散等行为活动。角色进入不同的场景,可以由系统随机选择或自己控制选择起火点,角色通过地图找到起火位置和附近的消防设施,可以实时获取和操作消防器材,在相关信息和配套设备的支持下进行灭火作战,同时实施人员疏散救援活动。逼真的虚拟灭火救援演练活动不但使学习者熟练地掌握灭火消防器材的操作技术和救援技能,而且使其从心理上克服对火灾的恐惧心理。

分析系统 该系统功能模块会实时分析出整个学习及演练过程的综合信息,包括着火地点、火势的大小、消防设施状况、角色的生命值等信息,根据角色对灭火器材操作时间的长短,系统控制火势的大小和起火点的损害程度,并给出相应分析显示;计算角色与火焰或起火点的相对距离,来判断角色生命的危险程度并实时更新生命值;实现监控过程的回放,分析整个过程中学习者的学习操作行为,并且系统给出补充性学习。

3 系统研制与开发的关键技术

该系统主要通过3Ds MAX 9构建虚拟场景和角色模型,利用Virtools 5.0实现各种实时的交互操作,控制虚拟环境的部件。完整的系统开发过程涉及很多技术和技巧。笔者将整个过程的关键技术进行阐述,主要包括:

1)角色控制及碰撞处理;

2)角色及场景动态获取;

3)火焰和烟雾的模拟;

4)器材获取、装备及灭火操作。

角色控制及碰撞处理 角色在整个过程中通过键盘或鼠标的控制,为角色添加脚本,并且加入Virtools中自带的Building Blocks(后面简称BB)模块,多个BB模块组合实现对角色和物体的操作和控制。在主文件中建立虚拟角色代理并添加脚本,由Keyboard Mapper模块将输入的键盘信息转换成Virtools可读信息再发给三维引擎,通过Unlimited Controller接受信息并且调用该信息对应的角色动作来控制角色的行为。用Enhanced Character Keep On Floor模块强制角色在地板或楼梯上行走而不穿透地板,但必须为地板添加Floor属性才可以实现。用Object Slider、Shadow Caster、Text Display等模块实现碰撞、投影、角色名字显示、视镜优化等功能。

角色及场景动态获取 用户进入系统后进行角色选择,所选的角色可以在虚拟场景中进行漫游、学习、操作、观察等行为,体现了学习的主动性、情景性和沉浸性。在Virtools中由2D Frame创建脚本,用Mouse Waiter模块等待鼠标点选,2D Picking抓取所点选的内容,用Test和Is In Group模块来进入模型选择按钮。如果点到模型选择按钮,则隐藏所有按钮并且设置成不可点选状态,同时创建角色的下载创建地址,用Object Load模块下载角色并且激活角色和角色代理脚本,将代理上的所有功能都赋予载入的角色,如图2所示。场景的载入与角色的载入类似,在这里就不再赘述。

火焰和烟雾的模拟 虚拟火灾现场对火势的精细模拟是非常关键的,利用Virtools中提供的八种粒子系统,很好地解决了火焰及烟雾的模拟,提高系统的逼真性。在Virtools中由3D Frame来充当粒子系统发射源,分别创建火焰粒子组、烟气粒子组和浓烟粒子组,在模块中设置粒子系统的生命周期、发射速度、粒子数目、粒子大小及衰减、粒子贴图、粒子颜色渐变等各种属性,来实现模拟不同火焰和烟气。

将起火的位置进行分析计算并为其加权重,由起火点Array来存放起火点空间坐标、权重、起火点的模糊次序等信息。用火势信息Array来存放火势不同粒子系统的组合、大小和粒子系统的属性等信息。在系统运行时,用户自己或者系统随机选择起火位置,系统会从起火点数组中调用其位置、大小、权重等信息。通过计算是否有灭火操作和灭火的时间来动态控制各粒子系统的属性设置,并判断是否激活附近位置的着火点,实现火灾发展和蔓延与真实火灾保持一致,火势效果如图3所示。

器材获取、装备及灭火操作 在虚拟场景中特定的位置会设置消防器材,如何获取这些器材并且对其进行操作成为关键问题。

首先,利用设备Array把器材的名称、实体、位置、缩图、是否永久装备等信息录入,同时为器材设置碰撞检测Collision Detection,当角色走近器材一定范围内,系统进行碰撞测试,判断器材是否可以被装备,同时器材一直以闪亮状态提示。在角色的装备包中动态显示所获取器材的缩略图,并将该物体加入到角色装备包器材数组,把场景中的物体隐藏并设置到其他位置,以免被误点选。

其次,用户选中并拖动装备包中的现有器材或物品缩图到角色的身上,为角色装备器材,通过set position将该设备物体的位置设置到角色手上预制的虚拟对象的位置上,设置方向和大小同时添加到装备组,实现器材的装备。

最后,通过Key Event选择按键来控制灭火动作开始,用Play Animation 3D Entity为角色添加灭火的动作。当然,该脚本是在检测灭火器已装备的情况下才可以执行。操作动作执行完成后激活灭火器口的粒子系统,实现器材操作,由Get Nearest In Group模块来判断角色最近燃火点,由Iterator、Test等模块判断最近起火点一定范围内的已经燃烧的起火点,并按距离顺序放到一个新Array中,根据灭火操作时间和距离次序来动态改变起火点的火势的大小,并且检测火势参数值当小于一定值时将粒子系统关闭,实现对火势的控制。

4 总结

本系统集消防知识学习、消防宣传和演练于一体,实现了参与者从消防知识及器材的学习到消防演示教学再到消防实战的深刻体验学习,具有较强的实用性和可行性,为消防宣传、消防演练教学及指挥实践等方面提供了更有效便捷的方法。随着计算机技术、虚拟现实技术及虚拟消防工程的不断发展与完善,实现更强的交互性、沉浸性、协同性,今后将成为消防工程的重要支撑手段。本研究可为构建其他虚拟工程系统所借鉴。

[1]高小辉.分布式虚拟环境在消防预案中的应用[D].北京:首都师范大学,2007.

[2]肖琼.基于Mult1gen和Vega的视景仿真技术在突发事件中的应用[D].武汉:华中科技大学,2008.

[3]刘明昆.就是要做3D游戏:Virtools秘笈篇[M].北京:中国青年出版社,2010.

[4]陈驰,任爱珠,张新.基于虚拟现实的建筑火灾模拟系统[J].自然灾害学报,2007,16(1):55-60.

猜你喜欢
粒子系统火势器材
AV TOP 100!2020-2021年度优秀影音器材推荐榜简评
利用GPU加速的粒子系统全球流场可视化系统设计与实现
最贵的器材多少钱 Damian Demolder
火势造英雄
UE 4粒子系统与外部数据通信研究
视听器材个股表现
视听器材个股表现
油也能灭火
基于粒子系统的建模与仿真综述
GPU支持下基于粒子系统编辑器的特效技术研究