摘? 要:近年來疫情封校原因,學(xué)生無法外出,校園安全問題日益嚴(yán)峻。在校園內(nèi),學(xué)生食堂、宿舍等區(qū)域,一旦發(fā)生火災(zāi),后果不堪設(shè)想。無論學(xué)生緊急疏散慌張導(dǎo)致的踩踏事件,還是火勢過猛引起學(xué)生無法逃離現(xiàn)場的情況,都是需要解決的問題。所以必須加強(qiáng)學(xué)生的消防安全意識(shí),此系統(tǒng)旨在讓學(xué)生在虛擬引擎中體驗(yàn)真實(shí)的火災(zāi)模擬系統(tǒng),如何逃生,如何規(guī)范地破滅火災(zāi),都可以在此系統(tǒng)中進(jìn)行演練,幫助學(xué)生學(xué)習(xí)消防知識(shí),又能夠提高學(xué)生遇到實(shí)際火災(zāi)問題保證自身安全的能力。
關(guān)鍵詞:校園管理;火災(zāi)模擬系統(tǒng);UE4引擎;消防安全
中圖分類號(hào):TP391.9? ? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)13-0018-04
Research and Design of Campus Fire Simulation System Based on the UE4 Engine
SONG Xue
(Guiyang Institute of Humanities and Technology, Guiyang? 550025, China)
Abstract: In recent years, students cannot go out due to the epidemic situation and school closure, and campus safety problems have become increasingly serious. On campus, student cafeterias, dormitories and other areas, once a fire occurs, the consequences are unimaginable. Whether it is a stampede caused by panic of students' emergency evacuation, or the situation where students cannot flee the scene due to excessive fire, it is a problem that needs to be solved. Therefore, it is necessary to strengthen students' fire safety awareness. This system is designed to allow students to experience the real fire simulation system in the virtual engine. How to escape, how to standardize to put out the fire, can be practiced in this system. It helps students learn fire protection knowledge, and can improve the ability of students to ensure their own safety when encounter actual fire problems.
Keywords: campus management; fire simulation system; UE4 engine; fire safety
0? 引? 言
高等院校是學(xué)生居住時(shí)間較多的地方,有著宿舍多、占地面積大、樓層高等特點(diǎn),學(xué)生也居住密集,在上課期間,全校師生的消防安全問題是非常需要關(guān)注的。學(xué)校校園內(nèi),有實(shí)驗(yàn)室、宿舍樓、食堂、檔案館和圖書館等重點(diǎn)需要消防安全的場所,一旦發(fā)生火災(zāi),校園內(nèi)工作人員、教師和學(xué)生的人身安全和財(cái)產(chǎn)安全都會(huì)受到威脅[1]?,F(xiàn)在很多學(xué)校也很重視消防安全,安裝一些預(yù)防校園火災(zāi)的有線或無線的火災(zāi)防范系統(tǒng),這些系統(tǒng)會(huì)有效地在火災(zāi)發(fā)生時(shí)及時(shí)預(yù)警,以便于盡快控制火勢的發(fā)展。但當(dāng)火災(zāi)發(fā)生時(shí),并非所有人員或財(cái)產(chǎn)傷亡情況都由火災(zāi)引起,當(dāng)學(xué)生沒有足夠的消防經(jīng)驗(yàn)時(shí),慌張的飛奔下樓造成樓梯擁擠的踩踏事件數(shù)不勝數(shù)。不知道如何控制火勢使之變大的情況也比比皆是。為有效預(yù)防這種情況,本文重點(diǎn)使用3DMax和UE4引擎為工具來構(gòu)建校園虛擬場景,讓學(xué)生能夠體驗(yàn)遇到火情時(shí)如何有效地控制火情或是井然有序的離開火災(zāi)現(xiàn)場,保護(hù)自身安全和財(cái)產(chǎn)安全[2]。本文重點(diǎn)闡述如何使用3DMax搭建校園模型,使用UE4引擎實(shí)現(xiàn)實(shí)時(shí)渲染,對校園標(biāo)志性建筑物進(jìn)行1比1還原仿真,讓學(xué)生了解學(xué)校細(xì)節(jié)方位,有效地滿足實(shí)時(shí)預(yù)覽和高效、深度沉浸階段的需求,提高學(xué)生用戶與系統(tǒng)設(shè)計(jì)的沉浸交流體驗(yàn)。
1? 軟件功能與框架
1.1? 建模軟件
3D建模軟件有很多,目前主流的高模建模軟件有:Maya、3DMax、Zbrush。其中3DMax以基于PC系統(tǒng)的配置要求低;安裝插件可以提供3DMax沒有的功能進(jìn)行增強(qiáng);強(qiáng)大的角色動(dòng)畫制作能力;可堆疊建模步驟,使制作模型有非常大的彈性;制作流程十分簡潔高效,適合初學(xué)者等優(yōu)點(diǎn)使之廣泛應(yīng)用。本文也將使用3DMax進(jìn)行建立學(xué)校模型[3]。
1.2? 渲染軟件
目前,三維實(shí)時(shí)渲染的軟件有Unity3D和UE4。UE4在畫面中表現(xiàn)十分突出,可以直接導(dǎo)入3DMax的高模,默認(rèn)渲染管線也是可以真實(shí)地模擬實(shí)際材質(zhì),節(jié)點(diǎn)化的變成系統(tǒng)使用更加便捷,對學(xué)生學(xué)習(xí)設(shè)計(jì)非常友好[3]。在項(xiàng)目開發(fā)過程中,分批將藍(lán)圖中計(jì)算負(fù)荷重、耗時(shí)長的部分轉(zhuǎn)換為C++代碼供藍(lán)圖調(diào)用,可以實(shí)現(xiàn)快速原型開發(fā)和產(chǎn)品高效運(yùn)行的統(tǒng)一[4]?;赨E4軟件以上的優(yōu)勢,本系統(tǒng)設(shè)計(jì)使用UE4作為實(shí)時(shí)渲染引擎,并在此基礎(chǔ)上開發(fā)沉浸式互動(dòng)等各項(xiàng)功能。
2? 校園火災(zāi)模擬系統(tǒng)總體設(shè)計(jì)
2.1? 系統(tǒng)總體設(shè)計(jì)
本軟件在PC端進(jìn)行開發(fā),通過Blueprint(藍(lán)圖節(jié)點(diǎn))連接,實(shí)時(shí)對模型場景進(jìn)行調(diào)整,使得設(shè)計(jì)者在設(shè)計(jì)時(shí)對場景把控更為簡單。為設(shè)計(jì)合適的虛擬模型場景,本系統(tǒng)在UE4的Gameplay框架基礎(chǔ)上,根據(jù)火災(zāi)系統(tǒng)的需求設(shè)計(jì)了如圖1所示的架構(gòu)。該框架中Game Mode、Game Instance、Player Controller、For loop等組件節(jié)點(diǎn),均繼承UE4默認(rèn)父類基礎(chǔ),根據(jù)火災(zāi)系統(tǒng)進(jìn)行擴(kuò)展適配,實(shí)現(xiàn)內(nèi)容搭建。針對內(nèi)容需求,分成兩個(gè)模塊:第一,實(shí)現(xiàn)火災(zāi)系統(tǒng)模型建設(shè)及材質(zhì)貼圖建設(shè),為使用者感官更為真實(shí);第二,設(shè)計(jì)隨機(jī)著火點(diǎn),使用者控制人物角色模擬真實(shí)火災(zāi)進(jìn)行交互,實(shí)現(xiàn)模擬演練的功能。
在交互中,將用戶接入Gameplay框架,分別響應(yīng)不同功能,搭配Gameplay框架使用提供的通道射線追蹤、碰撞檢測等算法,提升Blueprint代碼質(zhì)量。
根據(jù)實(shí)驗(yàn)系統(tǒng)的內(nèi)容和結(jié)構(gòu),系統(tǒng)分為登錄模塊、選擇角色模塊、選項(xiàng)模塊、實(shí)驗(yàn)?zāi)K和控制模塊。實(shí)驗(yàn)?zāi)K中的內(nèi)容根據(jù)學(xué)校范圍分成各個(gè)子模塊,每一個(gè)子模塊代表一塊區(qū)域,例:實(shí)驗(yàn)一,食堂區(qū)域。各實(shí)驗(yàn)?zāi)K可以設(shè)立成獨(dú)立關(guān)卡,可以以闖關(guān)的形式判定用戶得分情況,關(guān)卡通過選項(xiàng)切換,通過Blueprint變成實(shí)現(xiàn)設(shè)計(jì)功能。如圖2所示。
登錄系統(tǒng)首先會(huì)進(jìn)入登錄界面,在登錄界面中輸入賬號(hào)和密碼進(jìn)行登錄,登錄成功后進(jìn)行角色選擇模塊判定,選擇角色有教師、學(xué)生、工作人員,當(dāng)選擇教師后,會(huì)進(jìn)入到教師的初始實(shí)驗(yàn)場景,實(shí)驗(yàn)室起火點(diǎn),由于是第一個(gè)實(shí)驗(yàn),會(huì)將實(shí)驗(yàn)難度降低,主要用于了解如何使用消防器材;當(dāng)選擇角色為學(xué)生后,會(huì)進(jìn)入到學(xué)生的初始實(shí)驗(yàn)場景,會(huì)隨機(jī)選擇走廊失火或宿舍失火地點(diǎn),主要讓學(xué)生掌握如何使用消防器材;如選擇角色為工作人員,會(huì)將初始實(shí)驗(yàn)場景設(shè)置在食堂,讓工作人員掌握如何使用消防器材。通過第一個(gè)實(shí)驗(yàn)后,后續(xù)實(shí)驗(yàn)會(huì)根據(jù)角色身份,進(jìn)行下一次實(shí)驗(yàn)判定,通關(guān)后會(huì)有綜合評(píng)分,方便各種角色體驗(yàn)學(xué)習(xí)。取代平面圖形,以三維建模技術(shù)建立實(shí)際模型,通過UE4引擎、Ps等軟件快速還原真實(shí)地形加載,并對其畫面進(jìn)行優(yōu)化,提高模擬訓(xùn)練的真實(shí)性。如圖3日光教室效果、圖4燈光教室效果所示。
針對上述內(nèi)容進(jìn)行具體分析,需要完成設(shè)計(jì)的對象有:光源、食堂、教室、辦公室、宿舍樓和得分物、角色、玩家控制器、用戶界面等。相關(guān)對象均以類的方式進(jìn)行封裝,并按實(shí)際情況在實(shí)驗(yàn)場景中生成多個(gè)案例,這里選取最主要的4類對象進(jìn)行說明。
2.1.1? 光源
設(shè)置合適的光源,保證用戶在夜間也有真實(shí)的視野。配合天空光線晝夜交替的條件下,減少一些陰影渲染錯(cuò)誤,解決用戶在夜間有真實(shí)視野效果,將天空的太陽高度和天空光源照射角度綁定,實(shí)現(xiàn)晝夜交替效果。為讓感受變得更真實(shí),將角色相機(jī)的自動(dòng)曝光的最大值、最小值設(shè)定為15和-15,在這個(gè)區(qū)間內(nèi)可以保證不出現(xiàn)曝光不足的情況或者是過度曝光的情況。
2.1.2? 食堂
食堂就是實(shí)驗(yàn)中的一個(gè)關(guān)卡,是一個(gè)封閉的空間,可以向樓上延伸??臻g內(nèi)的物體是不可以被銷毀,但是能夠觸碰的。食堂內(nèi)應(yīng)設(shè)置販賣食物的商店,可以正常仿真的買賣食物。后廚內(nèi)明火和暗火也應(yīng)該與真實(shí)事務(wù)一致,可以模擬各種情況的場合。將食堂封裝成為一個(gè)單獨(dú)的藍(lán)圖類“Food_B”,類中除地板“Floor”以外,其他位置都可能有任何情況燃燒的邏輯、并為食堂內(nèi)部標(biāo)點(diǎn),形成坐標(biāo)“Left”“Right”“Middle”,當(dāng)著火點(diǎn)發(fā)出信號(hào),角色可以選擇逃離或是拿起消防用品施救。行為正確加分,行為錯(cuò)誤減分。
2.1.3? 角色
角色將會(huì)封裝成名為“Hero_B”的藍(lán)圖類中,將建立三個(gè)角色,通過系統(tǒng)登錄界面選擇,其中相機(jī)和角色相連,而光源則在天空中,跟隨角色的動(dòng)作而移動(dòng)。用戶操控角色時(shí)應(yīng)有相關(guān)聯(lián)的邏輯。例如,行走在食堂內(nèi)部或在宿舍躺或坐,遇到桌子、障礙物等物品時(shí)應(yīng)是離開,要建立角色的坐標(biāo)位置變換。為了將角色和NPC區(qū)分,為角色封裝一個(gè)單獨(dú)的藍(lán)圖類“User”,類中包含觸碰、拿起、扔掉等各種行為。角色可以拿起消防栓,可以對消防栓實(shí)施打開、關(guān)閉等行為,可以通過聲音提醒其他NPC逃生路線,觸碰人物。
2.1.4? 得分物的設(shè)置
當(dāng)角色遇到火情時(shí),角色可以控制整個(gè)位置空間,可以通過選擇如何做獲得分?jǐn)?shù)。在相同的骨骼與網(wǎng)格體的情況下,需要加入Select節(jié)點(diǎn),將不同的選擇結(jié)果放入Option引腳中,最后將Index引腳與Intensifier相連后設(shè)置好增值數(shù)值,可實(shí)現(xiàn)選擇后加分內(nèi)容。
2.2? 虛擬互動(dòng)過程設(shè)計(jì)
本系統(tǒng)是在火災(zāi)系統(tǒng)內(nèi)容設(shè)計(jì)的交互式模擬訓(xùn)練系統(tǒng),用戶可自行進(jìn)入系統(tǒng)進(jìn)行學(xué)習(xí),實(shí)現(xiàn)用戶自主學(xué)習(xí),實(shí)現(xiàn)系統(tǒng)認(rèn)知,如何安全防范火災(zāi),遇到火災(zāi)如何處理等不同層面的實(shí)踐訓(xùn)練[5]。本系統(tǒng)大概可以分為三個(gè)步驟,首先學(xué)生登錄系統(tǒng)選擇角色,然后從第一個(gè)基礎(chǔ)實(shí)驗(yàn)開始訓(xùn)練(起初火災(zāi)點(diǎn)發(fā)生在走廊窗戶的窗簾,此刻環(huán)境處于剛剛點(diǎn)燃的狀態(tài),手邊就是三個(gè)類型的滅火器,如何選擇和操作是用戶首先需要了解的),最后通過用戶的選擇及使用判定結(jié)果和分?jǐn)?shù)。每個(gè)實(shí)驗(yàn)都有不同的場景及交互效果。
2.3? 具體虛擬系統(tǒng)實(shí)驗(yàn)功能
本次模擬系統(tǒng)互動(dòng)如下:
1)用戶輸入統(tǒng)一賬號(hào)登錄系統(tǒng),可選擇角色。
2)通過“WSAD”實(shí)現(xiàn)鏡頭移動(dòng)和角色移動(dòng)。
3)通過控制鼠標(biāo)實(shí)現(xiàn)場景視口的移動(dòng),通過鼠標(biāo)滾輪實(shí)現(xiàn)視口的放大與縮小。
4)使用鼠標(biāo)點(diǎn)擊相關(guān)滅火器或其他道具,可實(shí)現(xiàn)交互作用。
5)使用結(jié)束后,可觀看正確做法,系統(tǒng)判定分?jǐn)?shù)。
3? 虛擬系統(tǒng)的實(shí)現(xiàn)
為了完成高沉浸感、可靠真實(shí)度的虛擬訓(xùn)練,代替真實(shí)火災(zāi)訓(xùn)練的人物,系統(tǒng)應(yīng)能夠?qū)崿F(xiàn)模擬訓(xùn)練功能。角色能夠以第一視角在任何場景中對火情的發(fā)生進(jìn)行相關(guān)的操作,可以實(shí)際拿起消防栓、滅火器等相關(guān)器件,可以通過鼠標(biāo)進(jìn)行交互,可以實(shí)時(shí)觀察到火情變化。還原真實(shí)地形。在后期的研究中,可以讓VR視角下虛擬模型能夠清晰還原。確保在VR頭顯下有真實(shí)體驗(yàn),畫面清晰,食堂等環(huán)境內(nèi)部文字信息清晰,畫面可以跟隨頭部移動(dòng)視角,觸感清晰并可以通過體感手套拿起虛擬模型進(jìn)行操作,減少與真實(shí)事件的差異。目前系統(tǒng)分為以下四個(gè)模塊。
3.1? 界面登錄模塊
添加Blueprint節(jié)點(diǎn)創(chuàng)建UI界面。在UI界面中添加canvas panel(畫布節(jié)點(diǎn)),為其命名為登錄界面。拖入相關(guān)子節(jié)點(diǎn)輸入。添加判斷事件節(jié)點(diǎn),判定是否將用戶名和密碼配對成功,配對成功會(huì)登錄成功。部分程序如圖5所示。
3.2 選項(xiàng)模塊
選項(xiàng)模塊的功能是用于系統(tǒng)中實(shí)驗(yàn)之間的轉(zhuǎn)換,實(shí)驗(yàn)內(nèi)容有十幾項(xiàng),包括食堂煙道,食堂內(nèi)部,走廊,墻邊,宿舍各種火災(zāi)情況的緊急處理預(yù)案。
進(jìn)入Blueprint界面添加Uniform Grid Panel網(wǎng)格,修改成合適的尺寸。在網(wǎng)格中添加Button按鈕,并填充至整個(gè)網(wǎng)格,在按鈕上添加文字,完成一個(gè)選項(xiàng)的繪制。
3.3? 選擇角色模塊
角色有多種,校園模擬系統(tǒng)有教師、學(xué)生及工作人員,設(shè)定初始場景并不一致,會(huì)先從當(dāng)前角色更適合的方向進(jìn)行模擬,例如學(xué)生初始場景在教室走廊或宿舍,以最簡單的小火和滅火器的使用方法入手;如果是教師應(yīng)為實(shí)驗(yàn)室或辦公室;工作人員會(huì)從食堂等方面做初始場景[6]。設(shè)計(jì)布局做好三個(gè)按鈕,分別鏈接不同的實(shí)驗(yàn)即可完成此模塊的設(shè)計(jì)。部分程序如圖6所示。
3.4? 實(shí)驗(yàn)?zāi)K
實(shí)驗(yàn)?zāi)K目前設(shè)計(jì)有24種,其中有3種分別是不同角色的初始場景,這些場景不可以相互替換,是通過不同角色得到的真實(shí)體驗(yàn),主要是為了相關(guān)用戶能夠首先體驗(yàn)到最為熟悉的場景使用,其次有21種實(shí)驗(yàn)依次遞進(jìn),一點(diǎn)一點(diǎn)增加難度,讓不同角色的人了解校園內(nèi)各個(gè)場景部分,并且有效傳導(dǎo)防火措施,如火災(zāi)火勢過大,除了學(xué)生可以自覺疏散以外,還需要學(xué)生自覺撥打校消防及119火警報(bào)警電話。這些不同的實(shí)驗(yàn)場景,都可以讓用戶先體驗(yàn)一遍火情后,通過自己的選擇來了解自己的消防知識(shí)是否正確,結(jié)尾后的正確展示也會(huì)讓用戶加深火災(zāi)防范意識(shí)和行為。
4? 結(jié)? 論
本文針對現(xiàn)有校園火災(zāi)防范系統(tǒng)的不足,提出使用3DMax建模軟件和UE4引擎虛擬軟件制作了模擬校園火災(zāi)系統(tǒng),此系統(tǒng)可以使用戶擁有真實(shí)體驗(yàn),針對不同選擇看到選擇后的結(jié)果,并通過結(jié)果知道自己在哪里的預(yù)備不足。如果發(fā)生火災(zāi)不需要緊張,如火勢較小,應(yīng)正確應(yīng)對;如火勢過大,應(yīng)用濕毛巾掩住口鼻,井然有序的離開火災(zāi)點(diǎn),去往安全的地方。本系統(tǒng)目前可以在PC端使用鼠標(biāo)進(jìn)行互動(dòng),后期可以通過接口接入頭盔等設(shè)備實(shí)現(xiàn)虛擬現(xiàn)實(shí)技術(shù)效果。
參考文獻(xiàn):
[1] 華健,黃飛,任浩,等.校園智能火災(zāi)預(yù)警系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2021,44(3):357-360.
[2] 楊帆,唐政磊.基于UE4引擎的仿真教學(xué)中海洋海浪模擬初探 [J].智能建筑與智慧城市,2022(2):88-92.
[3] 李浩銘,付戰(zhàn)平,王志樂,等.基于UE4引擎的虛擬訓(xùn)練系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].信息技術(shù),2022(1):84-89.
[4] 賈磊,喬壯,楊林崗,等.基于UE4的移動(dòng)端家裝軟件設(shè)計(jì)與實(shí)現(xiàn) [J].信息與電腦:理論版,2022,34(20):70-73.
[5] 熊琰.基于ZigBee的校園火災(zāi)防范系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代信息科技,2021,5(12):168-171+176.
[6] 薛瑩瑩,姚銘.UE4引擎的虛擬角色交互設(shè)計(jì)探析 [J].景德鎮(zhèn)學(xué)院學(xué)報(bào),2021,36(6):97-100.
作者簡介:宋雪(1994.02—),女,漢族,吉林白城人,助教,碩士研究生,研究方向:物聯(lián)網(wǎng)工程。
收稿日期:2023-03-14