文/王建 譚星
虛擬現(xiàn)實(shí)技術(shù)(Virtual Reality,簡(jiǎn)稱VR)正在迅猛發(fā)展,可以使用戶沉浸到創(chuàng)建的虛擬環(huán)境中。我國(guó)是地質(zhì)災(zāi)害多發(fā)國(guó)家,嚴(yán)重危害民眾生命財(cái)產(chǎn)安全,影響國(guó)家經(jīng)濟(jì)有序發(fā)展,“應(yīng)急產(chǎn)業(yè)”受到各國(guó)政府和民眾越來(lái)越多的關(guān)注,相應(yīng)的安全生產(chǎn)、應(yīng)急、救援技術(shù)和產(chǎn)品研發(fā)應(yīng)用也得到了高度重視。利用計(jì)算機(jī)虛擬仿真技術(shù)模擬重現(xiàn)各種應(yīng)急場(chǎng)景的真實(shí)性具有危險(xiǎn)性小、成本低等優(yōu)點(diǎn)。Unity3D軟件是一個(gè)創(chuàng)建三維視頻互動(dòng)動(dòng)畫(huà)的多平臺(tái)綜合開(kāi)發(fā)工具,效果逼真,已成為開(kāi)發(fā)VR項(xiàng)目的主流引擎。通過(guò)3D視頻動(dòng)畫(huà)的地震場(chǎng)景,可以讓人們意識(shí)到地震的危害,從而更加關(guān)注地震信息,提高安全意識(shí)以及掌握地震災(zāi)害來(lái)臨時(shí)的各種應(yīng)急方法和急救措施。
使用Unity 3D做一個(gè)地震的應(yīng)急模型,包含地面震動(dòng)、地震波、房屋的倒塌及周?chē)鷪?chǎng)景變化。
房屋模型是地震場(chǎng)景的核 心體現(xiàn),模擬地震通過(guò)房屋模型所體現(xiàn)??紤]到需要做倒塌效果,采用堆積木的形式建立房屋模型,一層層的堆砌最終形成一個(gè)完整的房屋,然后房屋的倒塌效果便可以通過(guò)一塊塊的模型運(yùn)動(dòng)來(lái)體現(xiàn)。本次采用一個(gè)主題房屋以及兩個(gè)背景房屋來(lái)模擬地震,地面震動(dòng)使用窗口抖動(dòng)來(lái)實(shí)現(xiàn)。
添加碰撞體組件。碰撞體是物理效果組件里面的一種,分為了3D和2D組件,碰撞體組件要與實(shí)際物體一起添加到Game Object中才能觸發(fā)出各自的碰撞效果,如果兩個(gè)物體撞在一起,只有在有碰撞體組件是才能發(fā)生碰撞,否則將會(huì)互相穿透而過(guò)。本文采用主要的碰撞體組件為盒碰撞體(Box Collider)與網(wǎng)格碰撞體(Mesh Collider),這兩類(lèi)碰撞體共同完成整個(gè)程序的地震效果。
包括兩部分:一部分作為可表現(xiàn)效果的碰撞模型,一部分為非碰撞模型即背景貼圖,需要用到Unity 3D里面的Cube工程,在Game Object中的3D project可以找到需要的Cube對(duì)象,將其添加進(jìn)模型職中??梢栽诘孛嬖O(shè)置多個(gè)Cube,對(duì)每個(gè)Cube對(duì)象進(jìn)行盒碰撞體組件的添加,賦予其物理碰撞效果,與房屋中添加了物理碰撞效果組件的物體發(fā)生正確碰撞。
地震波是地震來(lái)臨所產(chǎn)生的劇烈波動(dòng),有橫波和縱波,本文選用橫波效果,由一個(gè)圓環(huán)組成的來(lái)回振動(dòng)的地震波模型,需要為圓環(huán)添加Animator模塊,如圖1所示。此模型制作簡(jiǎn)單,表現(xiàn)逼真,通過(guò)圓環(huán)的緩慢收縮和舒張來(lái)表現(xiàn)地震來(lái)臨前的地震波波動(dòng),當(dāng)來(lái)臨時(shí)伴隨這房屋的倒塌,地震波的收縮和舒張變得更劇烈,與房屋倒塌相對(duì)照。
鏡頭的運(yùn)動(dòng)軌跡用來(lái)標(biāo)明地震發(fā)生,分為兩個(gè)部分,第一部分是地震來(lái)之前的輕微抖動(dòng),第二部分為地震過(guò)程當(dāng)中的劇烈抖動(dòng),可設(shè)置兩個(gè)過(guò)程的鏡頭軌跡。初始鏡頭設(shè)置為整個(gè)模型的右下角位置,設(shè)定完畢后需要用程序與鏡頭關(guān)聯(lián),以鏡頭的移動(dòng)為基礎(chǔ),做出抖動(dòng)的效果,例如固定X,Y軸不動(dòng),使鏡頭的Z軸在原點(diǎn)對(duì)稱兩端做上下移動(dòng)可以做出地震來(lái)臨前的緩慢振動(dòng),然后使鏡頭的整個(gè)Z平面做快速的上下移動(dòng)模擬地震來(lái)臨時(shí)的劇烈振動(dòng)的效果,鏡頭控制部分程序如下:
在電腦運(yùn)行的地震前后對(duì)比圖如圖2所示,前后場(chǎng)景變化效果較為明顯,實(shí)現(xiàn)房屋倒塌且伴隨地震的振動(dòng),達(dá)到了地震應(yīng)急場(chǎng)景模擬的基本要求,整個(gè)房屋的倒塌破損度高,流暢度也能達(dá)到要求,其他的模型也能按照預(yù)期的效果完成。經(jīng)過(guò)手機(jī)測(cè)試,測(cè)試手機(jī)也能較好兼容整個(gè)應(yīng)用程序,呈現(xiàn)的效果與軟件渲染效果基本一致,導(dǎo)出的視頻約8秒,存儲(chǔ)量為1.5MB。
本文采用Unity3D軟件及C#語(yǔ)言編程設(shè)計(jì)了地震應(yīng)急場(chǎng)景模擬,較好地實(shí)現(xiàn)地震時(shí)房屋倒塌、地表振動(dòng)和周?chē)拔锲茐?,播放流暢度達(dá)到要求,體現(xiàn)了虛擬現(xiàn)實(shí)技術(shù)在應(yīng)急仿真模擬方面的優(yōu)勢(shì)。
圖1:地震波模型的Animator模塊
圖2:地震前后對(duì)比圖