黃仁東 , 吳同剛
(中南大學(xué) 資源與安全工程學(xué)院,湖南 長沙 410083)
非煤礦山的安全培訓(xùn)是提高礦井員工安全技術(shù)操作水平和理論素質(zhì),確保礦井安全生產(chǎn)的有效途徑和重要的安全措施之一。傳統(tǒng)的安全培訓(xùn)形式包括上課,講座,看視頻等等,由于過程比較枯燥、不能適應(yīng)復(fù)雜的變化、缺少靈活度等導(dǎo)致培訓(xùn)效果不佳[1]。隨著虛擬現(xiàn)實技術(shù)(Virtual Reality)的發(fā)展與成熟,利用其交互性、沉浸感和構(gòu)想性3個最突出的特征[2-4],可以構(gòu)建交互式三維動態(tài)視景和實體行為的系統(tǒng)仿真,使用戶沉浸到該環(huán)境中。在國外,VR已經(jīng)被運用在越來越多的安全教育培訓(xùn)中:洛杉磯警察局使用Hydra模擬系統(tǒng)提升指揮者面對災(zāi)害時的處理能力,根據(jù)各種新聞廣播、簡報和其他模擬實時信息,提供身臨其境的體驗[5];美國NOISH的Pittsburgh和Spokane研究所使用游戲引擎開發(fā)了礦工培訓(xùn)游戲用于培訓(xùn)煤礦工人識別井下地圖的技能[6-7]。在國內(nèi)煤礦安全培訓(xùn)領(lǐng)域,虛擬現(xiàn)實技術(shù)被用于對員工進行安全生產(chǎn)培訓(xùn)[8],以角色扮演類游戲的方式,開發(fā)交互式礦工安全訓(xùn)練模塊,利用3dsMax實現(xiàn)礦工人體建模包括Body模型和Biped骨骼綁定,結(jié)合OpenGL進行幾何建模實現(xiàn)3D場景的建設(shè);還有運用Converse3D虛擬現(xiàn)實制作軟件設(shè)計系統(tǒng)UI和交互[9],達到漫游學(xué)習(xí)的目的。雖然都實現(xiàn)了虛擬現(xiàn)實安全培訓(xùn),但是這些方法在構(gòu)建稍顯復(fù)雜的三維場景仍然十分耗時費力,構(gòu)建的結(jié)果與真實場景存在一定的差異,而且采用第三人稱視角操作,培訓(xùn)的沉浸感不是很強。本文設(shè)計的虛擬現(xiàn)實系統(tǒng)的實現(xiàn)路徑包括3dsMax建立實體模型,導(dǎo)入Unity3D引擎,使用自帶的第一人稱控制器實現(xiàn)第一人稱視角操作,用Javascript腳本語言實現(xiàn)設(shè)計好的模塊與情景,構(gòu)建安全培訓(xùn)虛擬現(xiàn)實系統(tǒng),并將其應(yīng)用在安全培訓(xùn)中。該路徑能以較簡單的方式實現(xiàn)良好的虛擬現(xiàn)實效果,同時根據(jù)不同的環(huán)境設(shè)計對應(yīng)的情景進行培訓(xùn)教育,適用性強。
3dsMax提供的基礎(chǔ)建模,poly多邊形建模,NURBS建模等豐富的建模方式,可以輕松精確地構(gòu)建各種復(fù)雜模型。既可以通過各類修改器將簡單的自帶模型修改為目標(biāo)模型,也可以通過對三維圖形或二維圖形放樣擠出、車削等構(gòu)建三維模型。
因為巷道多為連續(xù)且截面基本保持不變,符合放樣建模的特性。通過放樣建立幾何模型的方法為:構(gòu)建模型走向的軌跡線—繪制截面輪廓線—選擇復(fù)合對象命令下的放樣—分別拾取路徑與圖形—獲得對應(yīng)的3D模型,見圖1。
圖1 放樣建模Fig.1 Lofting model
利用噪波修改器可以模擬巷道凹凸不平的效果,結(jié)合材質(zhì)編輯器中的位圖功能,給巷道賦上對應(yīng)的材質(zhì),使巷道看起來更加真實,見圖2。
圖2 模擬巷道Fig.2 Simulative roadway
對于一些簡單的設(shè)備模型,可以建立大致的立體形狀,通過放縮、旋轉(zhuǎn)進行粗略調(diào)整,再經(jīng)過多邊形的點層級、線層級和多邊形層級進行位置改動及各種修改器(放樣、FFD、擠出等)精細(xì)加工,構(gòu)建更逼真的模型,見圖3、圖4。
圖3 鉆孔機Fig.3 Drilling machine
圖4 電耙Fig.4 Scraper
本系統(tǒng)主要采用Unity3D引擎中的第一人稱控制器,大部分時間不需要人物角色出現(xiàn)即可實現(xiàn)場景漫游與交互,但也會有輔助人物角色的出現(xiàn)。網(wǎng)絡(luò)上有豐富的人物模型資源,形態(tài)各異,可選取合適的模型加以修改,得到想要的模型效果??梢允褂肧kin骨骼蒙皮系統(tǒng)進行骨骼蒙皮、材質(zhì)信息的添加以及紋理貼圖設(shè)置,人物模型見圖5。
圖5 礦工角色Fig.5 Miner character
Unity3D作為開發(fā)平臺具有眾多的優(yōu)勢,簡單列舉如下:
(1)可以實現(xiàn)跨平臺操作,適用范圍廣,平臺的相關(guān)功能基本可以實現(xiàn),實現(xiàn)不了的也可以通過插件來完成。
(2)腳本語言支持C#和Javascript,既可以選擇功能強大資源豐富的C#語言,也可以選擇相對簡單,容易上手的Javascritp。
(3)Unity可以進行粒子光效編輯,其本身就是個功能十分強大的粒子編輯器,自帶的粒子系統(tǒng)[10]可以輕松模擬火焰、爆炸、煙霧等特效。
(4)擁有豐富的插件,可以實現(xiàn)各種功能,比如一些shader特效、物體破碎特效、場景變形特效等。且自帶第一人稱控制器,可以很方便的完成場景漫游與交互。
(5)跨平臺能力強,移植便捷,3D圖形性能出眾[11]。項目完成后可以根據(jù)對應(yīng)平臺找出選項導(dǎo)出相應(yīng)的資源。
(6)自帶天空盒、材質(zhì)貼圖、地形編輯器等,可以方便的構(gòu)造各種環(huán)境。
第一人稱控制器可以通過導(dǎo)入Unity自帶的資源包來獲取,主要包含3個部分,分別是主攝像機、膠囊體和一個碰撞器,見圖6。自身攜帶3個腳本,可通過鼠標(biāo)指向控制視角方向,WASD控制移動,面板設(shè)置移動速度、跳躍高度等參數(shù)輕松地實現(xiàn)第一人稱視角漫游的效果。
圖6 第一人稱控制器Fig.6 First person controller
以第一人稱視角進行操作有很多優(yōu)點,首先第一人稱視角貼合實際,可以產(chǎn)生相對強烈的沉浸感,讓人有身臨其境的感覺;其次,第一人稱視角能夠方便配合外部硬件設(shè)備,比如VR頭盔、球幕等營造更加真實的學(xué)習(xí)體驗,從而達到較好的培訓(xùn)效果;第一人稱視角還省去了主角人物模型制作與動畫效果,簡化制作過程。
碰撞檢測技術(shù)是實現(xiàn)人物與環(huán)境,人物與人物交互的關(guān)鍵性技術(shù),是使得場景和活動更加逼真的重要手段[12]。要使人物與模型中的物體碰撞時不發(fā)生穿透的現(xiàn)象,以及到達指定區(qū)域出現(xiàn)特定的操作與提示的效果,碰撞檢測必不可少。
Unity3D碰撞檢測類型主要有3種,分別是基本碰撞檢測、觸發(fā)器碰撞檢測和光線投射?;九鲎矙z測能夠滿足基本的碰撞檢測要求,但是必須要求2個物體的碰撞器接觸后才能觸發(fā)指令,局限性較大;光線投射可以避免這個問題,但是有面向方向的要求,不適合人物自由自動進行交互的要求。本文選取觸發(fā)器碰撞檢測。
觸發(fā)器碰撞檢測需要設(shè)置2個觸發(fā)器,可以自由設(shè)置觸發(fā)器的大小,將需要被檢測碰撞的物體包含于一個觸發(fā)器中,將另一個觸發(fā)器附于具體需要執(zhí)行指令的物體,當(dāng)角色到達第一個觸發(fā)器范圍,即可觸發(fā)相應(yīng)的腳本,完成操作。觸發(fā)器檢測不受朝向和人物與物體碰撞的限制,而且腳本不需要附在第一人稱控制器上,這樣有利于后期程序運行的流暢性。對應(yīng)的Javascript腳本為:
function OnTriggerEnter(col:Collider){
if(xxx.gameObject.tag=="xxx"){ 如果觸碰的物體標(biāo)簽為 “xxx”
具體腳本視情況而定;}}
運用Unity3D自帶的粒子系統(tǒng),可以很好地模擬各類事故如火災(zāi)、爆炸、冒頂片幫的發(fā)生、擴散、抑制的全過程。通過導(dǎo)入Unity自帶的粒子資源包,可以模擬各種情節(jié)效果,如火焰、煙霧、淹水,動畫效果逼真,導(dǎo)入簡便。以火災(zāi)為例,粒子系統(tǒng)效果見圖7,可以將Fire粒子系統(tǒng)添加到著火的場所,同時建立腳本文件附到Fire粒子系統(tǒng)上,實現(xiàn)當(dāng)粒子系統(tǒng)觸碰到消防設(shè)備時幾秒后停止發(fā)射,模擬火災(zāi)被消滅的效果[13]。
核心腳本為:
function OnParticleCollision{
if(collision.collider.tag==“fire extinguisher”) 如果觸碰的物體標(biāo)簽是“fire extinguisher”
yield WaitForSeconds(10); 等待10 s
particleEmitter.emit=false; 停止發(fā)射粒子
}
圖7 Unity3D火焰粒子系統(tǒng)Fig.7 Unity3D fire particle system
本虛擬現(xiàn)實系統(tǒng)主要用于礦井漫游與應(yīng)急培訓(xùn)。礦井漫游能夠有效地幫助學(xué)員了解井下結(jié)構(gòu);各個部分的位置、功能以及發(fā)生事故時正確的逃生路線等。應(yīng)急培訓(xùn)主要是為了使礦工能夠在發(fā)生各類事故時,不要驚慌失措,采取正確果斷的措施自救或救助他人,減輕事故后果,保障人身安全。
本文所要構(gòu)建的虛擬現(xiàn)實平臺主要目的是用于非煤礦山開采員工的安全培訓(xùn)。規(guī)章制度類培訓(xùn)教育用虛擬現(xiàn)實來實現(xiàn)意義不是很大,而對井下環(huán)境的熟悉和面對現(xiàn)實各種場景的正確反應(yīng)與操作直接關(guān)系到操作工人的安全與健康。因此本虛擬現(xiàn)實系統(tǒng)主要以對井下環(huán)境認(rèn)識與各種場景的合理應(yīng)對措施為主要教育內(nèi)容。目前設(shè)計安排的模塊有:礦井漫游模塊和應(yīng)急培訓(xùn)模塊。系統(tǒng)運行的整體框架見圖8,系統(tǒng)功能設(shè)計見表1。
圖8 系統(tǒng)運行框架Fig.8 System operation frame
礦井漫游模塊主要用于工作人員對井下環(huán)境的認(rèn)識與熟悉。運用3dsMax對礦井具體構(gòu)造、現(xiàn)場環(huán)境、作業(yè)場所、各個系統(tǒng)、設(shè)備的位置和運作等進行建模顯示,結(jié)合Unity3D實現(xiàn)各個角度進行仔細(xì)觀察,學(xué)員可以通過身臨其境的體驗快速熟悉礦山系統(tǒng)的各個環(huán)節(jié)[14]。在漫游的過程中可以添加文字說明和語音講解,讓學(xué)員學(xué)習(xí)逃生路線、緊急避險系統(tǒng)的位置與操作等知識,有利于保障發(fā)生事故時井下工作人員的人身安全。該模塊主要分為學(xué)習(xí)模式和練習(xí)模式2個部分。選擇學(xué)習(xí)模式時,學(xué)員可選擇礦井內(nèi)任意區(qū)域進漫游,對井下環(huán)境有全面而真實的了解,當(dāng)漫游完畢,返回選擇其他區(qū)域的漫游。
表1 系統(tǒng)功能Table 1 System function chart
練習(xí)模式主要考察學(xué)員對井下環(huán)境的掌握情況,系統(tǒng)隨機選定一個區(qū)域,學(xué)員在該區(qū)域內(nèi)到達設(shè)計好的信息點時出現(xiàn)實時測試,完成相應(yīng)任務(wù)。如果規(guī)定時間內(nèi)沒有完成,則跳轉(zhuǎn)到學(xué)習(xí)模式,進一步加深學(xué)習(xí)了解。漫游場景見圖9。
圖9 井下漫游場景Fig.9 Roaming scene under mine
應(yīng)急培訓(xùn)模塊設(shè)計的整體構(gòu)架主要包括學(xué)習(xí)模式和練習(xí)模式2個部分。學(xué)習(xí)模式是以學(xué)員視角為主視角,自動在構(gòu)建的虛擬場景中進行漫游,到達指定位置時面對出現(xiàn)的場景,進行正確的應(yīng)對,并在界面上以文
字和真人發(fā)音的形式輔助說明,加深學(xué)員的印象,學(xué)習(xí)正確的操作與應(yīng)對措施。練習(xí)模式就是由學(xué)員自己操作,以第一人稱視角進行走動,利用觸發(fā)式碰撞器和場景中特定物品產(chǎn)生交互,引導(dǎo)學(xué)員做出正確判斷,出現(xiàn)錯誤操作時判定不合格,跳轉(zhuǎn)學(xué)習(xí)模式。三維仿真的系統(tǒng)可以直觀展現(xiàn)井下發(fā)生事故的場景,學(xué)員感受真實深刻,可以提高培訓(xùn)質(zhì)量[15]。目前設(shè)計的場景有:炮煙中毒事故、冒頂片幫事故、火災(zāi)爆炸事故、透水淹井事故、觸電事故等。
交互式安全培訓(xùn)模式主要有2條線組成。首先是交互部分,學(xué)員通過自己操縱第一人稱視角的角色對構(gòu)建的場景進行探索,與設(shè)計好的物體或人物進行交互;另一部分是由一系列的情節(jié)安排來設(shè)定情景。任何安全培訓(xùn)都有培訓(xùn)的目的和所要達到的效果,這就需要通過合理的主線使學(xué)員在進行操作的同時,學(xué)到必要的知識。所以,在情景設(shè)計之前,需要先對故事進行構(gòu)思,設(shè)定故事的框架。先確定學(xué)員需要完成哪些操作,學(xué)習(xí)哪些知識,然后設(shè)計相應(yīng)的場景,需要出現(xiàn)的人物,當(dāng)學(xué)員處于某一場景中時應(yīng)該做的操作以及給出對應(yīng)的交互反應(yīng)。用簡單易懂的方式讓學(xué)員學(xué)到最實用的知識和技能,并留下深刻印象,以至于在真實場景中遇到類似的情況能做出正確的反應(yīng),保證自身安全。以炮煙中毒場景為例,情景設(shè)計如圖10所示。
圖10 炮煙中毒情節(jié)設(shè)計Fig.10 The plot design of blasting fume poisoning
系統(tǒng)的運行應(yīng)當(dāng)是一個完整流暢的過程,需要設(shè)計好操作的進程。從開始菜單以后,每一級都應(yīng)設(shè)有返回上一級的功能,方便學(xué)員自由選擇學(xué)習(xí)內(nèi)容。在練習(xí)模式下,順利完成任務(wù)時應(yīng)記錄下來存檔,表明學(xué)員通過該階段考核,直至學(xué)員通過所有訓(xùn)練才算通過。
為了鼓勵學(xué)員認(rèn)真完成學(xué)習(xí)與訓(xùn)練,有效的激勵措施必不可少。對于完成所有練習(xí)的學(xué)員,系統(tǒng)將進行記錄并公示在開始界面,按照學(xué)員練習(xí)的完成進度進行排名列出榜單,同時對排名靠前的學(xué)員給予一定的現(xiàn)金獎勵和表揚,激發(fā)學(xué)員的學(xué)習(xí)興趣與動力。
1)相比于傳統(tǒng)安全培訓(xùn)的方式,該系統(tǒng)具有較好的沉浸性與交互性,場景逼真,員工有較高的學(xué)習(xí)興趣,學(xué)員以第一人稱視角在虛擬礦井中漫游,能夠較好地熟悉井下環(huán)境。
2)克服井下復(fù)雜環(huán)境的限制,通過應(yīng)急模擬培訓(xùn)掌握應(yīng)對各種事故時的正確處置措施,配合實際應(yīng)急操作訓(xùn)練,能夠給員工留下更深刻的印象,有助于增加事故應(yīng)對能力。
3)學(xué)員通過反復(fù)學(xué)習(xí)與練習(xí),可以實現(xiàn)以較小的成本與時間達到良好的教育培訓(xùn)效果,有較高的實用性。
[1] 胡東濤,黃浪,等. 基于虛擬現(xiàn)實技術(shù)的非煤礦山救護隊培訓(xùn)系統(tǒng)設(shè)計與實現(xiàn)[J].中國安全生產(chǎn)科學(xué)技術(shù), 2017,13(2):171-175.
HU Dongtao, HUANG Lang, et al. Design and implementation of training system for non-coal mine rescue team based on virtual reality technology[J]. Journal of Safety Science and Technology, 2017,13(2):171-175.
[2] 姜學(xué)智,李忠華.國內(nèi)外虛擬現(xiàn)實技術(shù)現(xiàn)狀研究[J].遼寧工程技術(shù)大學(xué)學(xué)報,2004(23):238-240.
JIANG Xuezhi, LI Zhonghua. Present situation of VR researching at home and abroad[J]. Journal of Liaoning Technical University, 2004(23):238-240.
[3] 張能福,何新礦,閻旭騫.虛擬現(xiàn)實技術(shù)的及其在采礦中的應(yīng)用[J]. 金屬礦山,2002(11):62-63.
ZHANG Nengfu, HE Xinkuang, YAN Xujian. Virtual reality technology and its application in mining engineering[J]. Metal Mine, 2002(11):62-63.
[4] 黃心淵. 虛擬現(xiàn)實技術(shù)與應(yīng)用[M]. 北京:科學(xué)出版社, 1999.
[5] 戴麗紅.洛杉磯警局反恐策略及對我國公安反恐工作的啟示[J].武警學(xué)院學(xué)報,2011,27(1):93-96.
DAI Lihong. The los angeles police department’s strategy of anti-terrorism and its inspiration for counter-terrorism work of chinese police[J].Journal oF Chinese Peoples Armed Police Force Acadamy,2011,27(1):93-96.
[6] Timothy J.ORR, Marc T.Filigenzi, Todd M.Ruff. Virtual reality for mine safety training [J], Applied Occupational & Environmental Hygiene, 2000, 15(6):465.
[7] CJ Bise. Virtual reality: Emerging technology for training of miners [J], Mining Engineering, 1997, 49(1): 150-154.
[8] 趙國梁.綜采工作面安全生產(chǎn)虛擬現(xiàn)實系統(tǒng)關(guān)鍵技術(shù)研究[D].西安:西安科技大學(xué),2012.
[9] 徐雪戰(zhàn),孟祥瑞,等. 基于三維可視化與虛擬仿真技術(shù)的綜采工作面生產(chǎn)仿真研究[J].中國安全生產(chǎn)科學(xué)技術(shù), 2014(1):26-32.
XU Xuezhan, MENG Xiangrui, et al. Research on virtual simulation of full mechanized mining face production based on three-dimensional visualization and virtual simulation[J]. Journal of Safety Science and Technology, 2014(1):26-32.
[10] 趙春霞,張艷,戰(zhàn)守義.基于粒子系統(tǒng)方法的三維火焰模擬[J].計算機工程與應(yīng)用,2004,40(28):73-75.
ZHAO Chunxia, ZHANG Yan, ZHAN Shouyi. 3-dimensional fire simulation based on particle system[J]. Computer Engineering And Application,2004,40(28):73-75.
[11] 肖建良,張程,李陽. 基于Unity3D的室內(nèi)漫游系統(tǒng)[J].電子設(shè)計工程, 2016, 24(19):54-56.
XIAO Jianliang, ZHANG Cheng, LI Yang. The indoor roaming system based on Unity 3D[J]. Electronic Design Engineering, 2016, 24(19):54-56.
[12] 閆興亞,趙杰,崔曉云. 基于Unity3D建筑施工虛擬培訓(xùn)系統(tǒng)的研究與實現(xiàn)[J].計算機與數(shù)字工程,2016, 45(7):1281-1285.
YAN Yaxing, ZHAO Jie, CUI Xiaoyun.Research and implementation of construction virtual training system based on unity 3D[J].Computer & Digital Engineering, 2016, 45(7):1281-1285.
[13] 劉永立,楊虎. 煤礦火災(zāi)應(yīng)急救援演練虛擬現(xiàn)實系統(tǒng)研究[J]. 礦業(yè)安全與環(huán)保,2013,40(6):22-25.
LIU Yongli, YANG Hu. Study on virtual reality system for mine fire emergency rescue training[J]. Mining Safety & Environmental Protection,2013,40(6):22-25.
[14] 修春華,孫秀娟,苗坡,等. 基于Unity3 D的虛擬礦山漫游仿真系統(tǒng)設(shè)計與實現(xiàn)[J].金屬礦山, 2015, 44(4):262-266.
XIU Chunhua, SUN Xiujuan, MIAO Po, et al. Design and implementation of virtual mine roaming simulation system based on unity3 D[J]. Metal Mine, 2015, 44 (4):262-266.
[15] 馮丹丹.三維礦井應(yīng)急救援仿真系統(tǒng)的研究與實現(xiàn)[D].北京: 華北電力大學(xué),2013.