林曉斌
【摘 要】傳統(tǒng)的消防演習(xí)消耗大量人力物力財(cái)力,且在演習(xí)中還可能發(fā)生意外情況,針對上述情況,結(jié)合虛擬現(xiàn)實(shí)技術(shù),研發(fā)了基于Vizard環(huán)境的虛擬消防演習(xí)系統(tǒng)。構(gòu)建虛擬消防演習(xí)場景所需模型,對不同的模型賦予不同的技能模擬現(xiàn)實(shí)中的不同角色,實(shí)現(xiàn)虛擬消防演習(xí)場景漫游。添加警報(bào)特效和小地圖功能,使用粒子系統(tǒng)制作不同火焰,通過碰撞機(jī)制實(shí)現(xiàn)滅火特效。受訓(xùn)者可在高安全、高仿真、低成本、可重復(fù)、生動活潑的虛擬消防演習(xí)系統(tǒng)中自由地選擇角色和場景,根據(jù)自己所扮演的角色在虛擬消防演習(xí)系統(tǒng)中學(xué)習(xí)消防知識,加強(qiáng)消防實(shí)戰(zhàn)經(jīng)驗(yàn)。
【關(guān)鍵詞】Vizard 虛擬消防演習(xí)系統(tǒng);粒子系統(tǒng);碰撞機(jī)制
中圖分類號: TP391.41 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2017)20-0077-002
Virtual Fire Drilling System Based on Vizard Environment
LIN Xiao-bin
(Department of Physics and Electronic Information Engineering,Minjiang University,F(xiàn)uzhou Fujian 350108,China)
【Abstract】The traditional fire drill consumes a lot of manpower and material resources,and there may be accidents in the exercise.In view of the above situation,combined with the virtual reality technology,the virtual fire drill system based on Vizard environment is developed.To build a virtual fire drill scene required model,different models to give different skills to simulate the reality of different roles,to achieve virtual fire drill scene roaming.Add alarm effects and small map function,the use of particle system to produce different flames,through the collision mechanism to achieve fire effects. Trainees can freely select roles and scenes in high-security,high-simulation,low-cost,repeatable,lively virtual fire drill system,learn fire knowledge in virtual fire drill system according to their role,experience.
【Key words】Vizard virtual fire drill system;Particle system;Collision mechanism
0 引言
由計(jì)算機(jī)圖形學(xué)、仿真學(xué)、人工智能和圖像識別等技術(shù)輔助而成的高新技術(shù)模擬系統(tǒng)應(yīng)運(yùn)而生,即虛擬現(xiàn)實(shí)。虛擬現(xiàn)實(shí)(Virtual Reality,簡稱VR技術(shù))是通過計(jì)算機(jī)視覺等技術(shù)模擬產(chǎn)生一個三度空間的虛擬世界,為用戶提供視聽盛宴,讓用戶身臨其境,通過各種交互設(shè)備,同三度空間內(nèi)的事物相互作用后進(jìn)行交互式視景仿真和信息交流[1]。虛擬現(xiàn)實(shí)目前已被廣泛的應(yīng)用于醫(yī)學(xué)、影視、教育與訓(xùn)練等領(lǐng)域,進(jìn)而推動虛擬現(xiàn)實(shí)的研究和應(yīng)用向縱向發(fā)展。
結(jié)合虛擬現(xiàn)實(shí)技術(shù)和消防科學(xué),提出基于Vizard環(huán)境的虛擬消防演習(xí)系統(tǒng),利用3DSMAX構(gòu)建虛擬消防演習(xí)場景所需模型,對不同的模型賦予不同的技能模擬現(xiàn)實(shí)中的不同角色,實(shí)現(xiàn)虛擬消防演習(xí)場景漫游。添加警報(bào)特效和小地圖功能可實(shí)時掌握火災(zāi)和傷員的位置,使用粒子系統(tǒng)制作不同火災(zāi)現(xiàn)場,且特定著火點(diǎn)會在周邊蔓延新火點(diǎn),利用降水插件實(shí)現(xiàn)消防槍噴水滅火特效,通過碰撞機(jī)制實(shí)現(xiàn)滅火特效。受訓(xùn)者可以在高安全、高仿真、低成本、可重復(fù)、生動活潑的虛擬消防演習(xí)系統(tǒng)中自由地選擇角色和場景,根據(jù)自己所扮演的角色在虛擬消防演習(xí)系統(tǒng)中學(xué)習(xí)消防知識,加強(qiáng)消防實(shí)戰(zhàn)經(jīng)驗(yàn)。
1 開發(fā)工具概述
1.1 3DS MAX概述
3DS MAX全稱為三維影像工作室,是美國Autodesk公司旗下Discreet分部開發(fā)的一款基于計(jì)算機(jī)系統(tǒng)的三維模型制作和渲染的軟件,已成為使用最廣的三維建模、動畫和渲染工具。在建筑和室內(nèi)設(shè)計(jì)、影視、游戲、教學(xué)及工程可視化等領(lǐng)域應(yīng)用廣泛,很好的滿足高質(zhì)量動畫和設(shè)計(jì)的制作需求。3DS MAX具有強(qiáng)大的建模功能,可堆疊的建模步驟增強(qiáng)模型的彈性,擴(kuò)展性好,操作簡單,容易上手,兼容性強(qiáng)等特點(diǎn)[3]。
1.2 Vizard概述
基于C/C++,運(yùn)用OpenGL擴(kuò)展模塊開發(fā)出的高性能圖形引擎Vizard是由美國WorldViz公司研發(fā)的,是一款功能強(qiáng)大的虛擬現(xiàn)實(shí)開發(fā)平臺軟件,可大大提高構(gòu)建及渲染虛擬場景的效率,憑其卓越的高效編程核心模塊,將整個虛擬現(xiàn)實(shí)應(yīng)用引領(lǐng)至一個高速高效且成本低廉的全新境界。Vizard軟硬件兼容性強(qiáng),不僅支持幾乎當(dāng)前所有的虛擬現(xiàn)實(shí)設(shè)備,還支持業(yè)界標(biāo)準(zhǔn)的各種3D模型格式,內(nèi)建虛擬人物庫、優(yōu)秀的物理引擎以及良好的擴(kuò)展性。采用Python這款極具發(fā)展?jié)摿τ謽O易上手的腳本語言作為其編程核心,其發(fā)展前景毋庸置疑。endprint
2 基于Vizard環(huán)境的虛擬消防演習(xí)系統(tǒng)
2.1 虛擬消防演習(xí)場景實(shí)現(xiàn)
利用3DSMAX進(jìn)行虛擬消防演習(xí)場景建模,第一部分是構(gòu)建虛擬消防演習(xí)主場景,依據(jù)實(shí)際生活城市中可能發(fā)生火災(zāi)的地點(diǎn)作為原型,按照1:500地圖數(shù)據(jù)進(jìn)行建模。運(yùn)用3DSMAX中的Greeble樓房插件可以快速創(chuàng)建建筑群、馬路和人行道等模型,然后進(jìn)行紋理貼圖、燈光和整體場景設(shè)置便可搭建好主場景。第二部分是構(gòu)建人物模型,一類是受訓(xùn)者使用方向鍵進(jìn)行自主控制,分別是滅火消防員,救人消防員和警察,一類是系統(tǒng)進(jìn)行操控的圍觀人員等。利用3DSMAX中的BOX命令調(diào)整出人體形狀,根據(jù)不同人物角色進(jìn)行紋理貼圖便可構(gòu)建好人物模型。第三部分是消防道具模型,利用3DSMAX中的Capsule等命令進(jìn)行建模,調(diào)整其參數(shù),進(jìn)行紋理貼圖。建模后有了場景模型的預(yù)制體,導(dǎo)入到Vizard中構(gòu)建虛擬消防演習(xí)場景,擺放好預(yù)制體,虛擬消防演習(xí)場景雛形已基本形成。
2.2 警報(bào)模塊
警報(bào)模塊實(shí)現(xiàn)在模擬演習(xí)開始3秒后會發(fā)出火災(zāi)警報(bào),在火源全部被撲滅后警報(bào)聲解除。運(yùn)用viz.addAudio命令添加警報(bào)音頻文件,然后用playsound命令播放警報(bào)聲音,再用minmax命令設(shè)置超過最小最大距離時不會隨聲源的遠(yuǎn)近而變化。該系統(tǒng)在模擬演習(xí)開始后3秒發(fā)出火災(zāi)警報(bào),在這兒調(diào)用vizact.ontimer命令在3秒后觸發(fā)火災(zāi)警報(bào),當(dāng)火源撲滅后停止警報(bào)。
2.3 小地圖功能模塊
為了實(shí)時掌握火災(zāi)和傷員動態(tài),虛擬消防演習(xí)場景中必須實(shí)現(xiàn)小地圖功能。小地圖實(shí)現(xiàn)原理是在Vizard中添加一個攝像機(jī),將攝像機(jī)設(shè)定一定的高度,俯視全場景,將其渲染成UI元素,再進(jìn)行陰影遮罩。為了更好的標(biāo)識火災(zāi)和傷員動態(tài),在小地圖上用黃色箭頭標(biāo)識傷員方向,紅色箭頭標(biāo)識火災(zāi)方向。當(dāng)一個傷員或是一個火源被撲滅時,箭頭標(biāo)識會在小地圖上消失。
2.4 火焰與煙霧模擬模塊
在虛擬消防演習(xí)系統(tǒng)中,對虛擬火災(zāi)現(xiàn)場的火勢的精細(xì)模擬是至關(guān)重要的,使用Vizard的粒子系統(tǒng)逼真地模擬火災(zāi)現(xiàn)場的火焰和煙霧。在Vizard中新建2個粒子系統(tǒng),分別表示火焰與煙霧粒子組,設(shè)置粒子系統(tǒng)初始生命、生命周期、發(fā)射狀態(tài)、粒子生命數(shù)等屬性模擬不同火焰和煙霧。
2.5 角色控制與救援模塊
建模時設(shè)置了兩類人物模型,一類是系統(tǒng)操控的角色,如圍觀人員等,另一類是受訓(xùn)者控制的角色,分別是滅火消防員,救人消防員和警察。由系統(tǒng)操控的角色稱之為預(yù)制體,預(yù)先擺放在特定的位置,隨著系統(tǒng)運(yùn)行時,按照預(yù)先設(shè)定的路線進(jìn)行移動,虛擬場景才會顯得有生氣貼近現(xiàn)實(shí)生活環(huán)境,該類角色由avatar虛擬人設(shè)置其走動和各種動作。由受訓(xùn)者控制的角色通過外設(shè)進(jìn)行控制,調(diào)用命令Vizact.onkeydown來觸發(fā)。滅火消防員賦予滅火的技能,是碰撞檢測機(jī)制實(shí)現(xiàn)的,利用命令collidemesh為滅火消防員和著火點(diǎn)處火焰添加碰撞輪廓,碰撞發(fā)生時,調(diào)用命令Vizact.onkeydown觸發(fā)滅火技能。救人消防員賦予將傷員移動到救援點(diǎn)的技能,利用getPosition命令讀取小地圖上標(biāo)識的傷員位置信息,移動到傷員位置并將傷員送至救援地。警察賦予在著火點(diǎn)附近疏散人員的技能,根據(jù)小地圖上標(biāo)識的火災(zāi)位置信息,通過getPosition命令獲取其位置信息,移動到著火點(diǎn)現(xiàn)場疏散人員。
2.6 系統(tǒng)整合
上述五個步驟已形成了虛擬消防演習(xí)系統(tǒng),優(yōu)化整合系統(tǒng)。運(yùn)行系統(tǒng)選擇模式進(jìn)入虛擬演習(xí)界面,3秒后火災(zāi)警報(bào)聲響起,在演習(xí)場景的左上端會出現(xiàn) “集合人員”和3個角色選擇按鈕,系統(tǒng)會根據(jù)受訓(xùn)者所選擇的角色發(fā)布不同的任務(wù)開始虛擬演習(xí)。.選擇不同的角色進(jìn)行系統(tǒng)任務(wù)測試,系統(tǒng)運(yùn)行效果良好。
3 總結(jié)與展望
基于Vizard環(huán)境的虛擬消防演習(xí)系統(tǒng)集消防科學(xué)知識、消防演習(xí)實(shí)戰(zhàn)和虛擬現(xiàn)實(shí)于一體,使受訓(xùn)者可以在高安全、高仿真、低成本、可重復(fù)、生動活潑的虛擬消防演習(xí)系統(tǒng)中自由地選擇角色和場景,根據(jù)自己所扮演的角色在虛擬消防演習(xí)系統(tǒng)中學(xué)習(xí)消防知識,加強(qiáng)消防實(shí)戰(zhàn)經(jīng)驗(yàn)。
【參考文獻(xiàn)】
[1]張菁.虛擬現(xiàn)實(shí)技術(shù)及應(yīng)用[M].北京:清華大學(xué)出版社,2011. 24-29.
[2]馮成舜,石連栓.虛擬消防演練教學(xué)系統(tǒng)的設(shè)計(jì)與開發(fā)[J].中國教育技術(shù)裝備,2014.8,(16):43-45.
[3]王珂.3DS MAX 2012高手成長之路[M].北京:清華大學(xué)出版社,2013.38-45.endprint