劉 闖, 曹紅松, 張 雨, 劉 勝, 劉松健
(1.中北大學(xué) 機(jī)電工程學(xué)院,太原 030051;2.北京易悅科技有限公司,北京 100025)
殺爆彈靜爆實驗是一種用于評定彈丸殺傷作用的實驗,也是高校彈藥類專業(yè)特別重要的實驗之一。學(xué)生了解相關(guān)的實驗規(guī)程、實驗設(shè)備和裝置、操作技巧等并進(jìn)行實踐訓(xùn)練,對提高其工程實踐能力和科研能力和創(chuàng)新意識具有重要意義。目前,由于靜爆實驗的危險性較高,兵工類院校大多已停止開展此類實驗的教學(xué),導(dǎo)致學(xué)生不能直觀感受彈丸爆炸、破片飛散的過程,也無法練習(xí)對沖擊波、破片速度進(jìn)行測試。隨著虛擬現(xiàn)實技術(shù)(Virtual Reality,VR)的不斷發(fā)展,將VR技術(shù)應(yīng)用于實驗教學(xué),能夠有效地解決上述問題。目前,VR技術(shù)在工程訓(xùn)練和實踐教學(xué)中的應(yīng)用已越來越廣泛[1-9],但尚無殺爆彈靜爆實驗方面的虛擬實驗系統(tǒng)。
殺爆彈靜爆實驗的目的在于研究和評比彈丸或戰(zhàn)斗部的殺傷作用,即在距炸點各個不同距離上破片的殺傷能力,為選擇彈丸金屬殼體的材料、炸藥及裝藥方法提供參考依據(jù)[10-11]。本文結(jié)合殺爆彈靜爆實驗教學(xué)的要求:需要較好的交互性來實現(xiàn)實訓(xùn)效果,系統(tǒng)的可移植性,包含自主學(xué)習(xí)、訓(xùn)練、考核等模塊,使用Unity3D平臺,開發(fā)出基于虛擬現(xiàn)實交互的殺爆彈靜爆虛擬實驗系統(tǒng)。學(xué)生可通過虛擬實驗系統(tǒng),親身體驗殺爆彈靜爆實驗的過程。實踐證明,本系統(tǒng)不僅可以提高學(xué)生的學(xué)習(xí)興趣,輔助課堂教學(xué),培養(yǎng)學(xué)生的動手能力,還可以保證實驗的經(jīng)濟(jì)性和安全性,方便實現(xiàn)資源共享。
根據(jù)殺爆彈靜爆實驗的要求,可將實驗項目內(nèi)容分為實驗準(zhǔn)備、扇形靶的布置、測試彈丸的安裝、測速裝置的布置與連線、測壓傳感器的安放、實驗結(jié)果的整理與評定等內(nèi)容。
(1) 實驗準(zhǔn)備。主要包括扇形靶、測試彈體、測速裝置、實驗場地等準(zhǔn)備。扇形靶是由在自然條件下干燥的3等松木板或強(qiáng)度相當(dāng)?shù)钠渌景逯瞥?。厚度?5 mm,長度不小于1 m,每塊扇形靶的扇面弧長,等于各扇形靶板所處的1/6圓周的弧長,高度為3 m。被試彈體依據(jù)實驗?zāi)康亩鴾?zhǔn)備,要注意排除一切干擾,以求獲得滿意的實驗結(jié)果。測速裝置選用網(wǎng)格線通靶和多通道計時儀等。沖擊波超壓是通過壓電傳感器測得沖擊波速度,根據(jù)公式計算得到。
(2) 扇形靶的布置。在寬廣平坦的地面上,靶板分別安裝在6個同一圓心不同直徑的圓周上,每個扇形靶的分布角為60°。扇形靶的布置示意圖如圖1所示。
(3) 測試彈丸的安裝。將改造后的彈丸豎直放置在爆樁上,使被試彈丸放置后其質(zhì)心距地面的距離為1.5 m。
(4) 測速裝置的布置與連線。在以爆點為圓心的3個不同半徑的圓周上分別確定2~5個測速靶點,各圓周上靶點安置前后互不遮擋,各測速通靶所在圓周距爆點的距離根據(jù)被測彈丸的口徑確定。測速通靶安放完畢后,接線計時儀,準(zhǔn)備實驗。
圖1 扇形靶布置示意圖
(5)實驗結(jié)果的整理與評定。根據(jù)每發(fā)彈丸的爆炸結(jié)果,將全部爆炸過的彈丸編制一份各扇形靶上穿透的破片、卡入的破片和殺傷破片數(shù)量的綜合表,并求出平均結(jié)果。最后按照彈丸爆炸平均結(jié)果繪制出表示1/6圓周上穿透的破片和殺傷破片數(shù)量與炸點距離的關(guān)系圖。
為達(dá)到良好的學(xué)習(xí)和教學(xué)效果,本實驗系統(tǒng)分為學(xué)習(xí)、訓(xùn)練和考核等模式。學(xué)習(xí)模式下:用戶通過鼠標(biāo)左鍵點擊相應(yīng)的按鈕,可查看實驗?zāi)康?、實驗?zhǔn)備、場景布置、實驗步驟、數(shù)據(jù)分析等指導(dǎo)內(nèi)容。訓(xùn)練模式下:用戶可參照學(xué)習(xí)模式下的指導(dǎo)內(nèi)容,在虛擬場景中按步驟完成彈丸選擇與放置,通靶放置,連線,彈丸靜爆等操作訓(xùn)練??己四J较?用戶在規(guī)定的時間內(nèi),按步驟完成虛擬實驗操作,用戶提交實驗報告后,系統(tǒng)自動給出考核成績。虛擬實驗系統(tǒng)的整體框架見圖2。
圖2 虛擬實驗系統(tǒng)的整體框架
針對測試彈之類對尺寸精度要求高的物件首先采用計算機(jī)輔助設(shè)計(Computer Aided Design,CAD)軟件建模,然后將模型導(dǎo)入3ds Max軟件中優(yōu)化并制作UV貼圖;而針對通靶、測試儀器和實驗場景中的其他物件采用3ds Max直接建模、優(yōu)化并制作UV貼圖。繼而將模型、UV貼圖等文件導(dǎo)入Unity3D軟件中,進(jìn)行界面設(shè)計和C#腳本添加。最終在Unity3D中發(fā)布成基于個人計算機(jī)(Personal Computer,PC)平臺的殺爆彈靜爆虛擬實驗系統(tǒng)。
三維模型的建立是整個實驗系統(tǒng)實現(xiàn)的基礎(chǔ)。目前,三維建模的方式主要可分為幾何建模、物理建模和行為建模[12]。本系統(tǒng)的開發(fā)過程中主要采用幾何建模的方法,使用的主要建模軟件有Unigraphics NX(簡稱UG)、3ds Max等。UG軟件是一款三維設(shè)計軟件,所建模型精確完整,但材質(zhì)的真實感不強(qiáng),交互性不足。3ds Max是一款優(yōu)秀的三維動畫渲染和制作軟件,可解決UG建模真實感不強(qiáng)的問題,并可以制作部分動畫效果。Unity3D軟件是一款跨平臺的綜合游戲開發(fā)工具,具有強(qiáng)大的編輯功能,可實現(xiàn)本實驗系統(tǒng)所需資源的整合、添加組件、設(shè)置交互等功能。
本文采用的快速建模與轉(zhuǎn)換思路是:首先通過UG軟件建立模型,另存為.IGES格式文件;再導(dǎo)入至3ds Max軟件中進(jìn)行模型優(yōu)化、添加材質(zhì),分展UV,在Photoshop中制作對應(yīng)模型的UV貼圖;然后另存為.FBX格式的文件,導(dǎo)入至Unity3D中編輯[13-14]。
殺爆彈靜爆實驗包含地形、天空、植物等場景模型,主要在Unity3D中完成。利用Unity3D中內(nèi)置的Terrain引擎創(chuàng)建地形,調(diào)整好地形的基本形狀后,選用合適的單元紋理賦給畫筆,畫筆所經(jīng)過的地方將會把對應(yīng)紋理貼到地形上。通過Terrain繼續(xù)在地形的適當(dāng)位置種植花草樹木等植物,最后通過Terrain Settings為地形添加模擬風(fēng),使地形中的花草樹木非常生動地隨風(fēng)擺動。天空的表現(xiàn)通過Unity中的天空盒材質(zhì)渲染來實現(xiàn)。場景逼真程度很大程度上取決于材質(zhì)和燈光,在本實驗場景中使用烘焙貼圖技術(shù)(Render To Textures)將光照信息融入到紋理信息中,形成貼圖,減少渲染的計算量,保證虛擬交互過程的流暢性。
靶板、靶架、測試彈、爆樁、測速通斷靶、導(dǎo)線、計時儀等實驗設(shè)備和裝置的建模主要在UG和3ds Max中完成。針對測試彈可利用已有的UG模型導(dǎo)出為.IGES格式文件,再導(dǎo)入至3ds Max中進(jìn)行優(yōu)化并添加材質(zhì)、制作UV貼圖。對其他實驗設(shè)備可參考實際尺寸在3ds Max中直接建模,并添加材質(zhì)、制作UV貼圖。最終所建實驗設(shè)備部分模型效果如圖3所示。
圖3 貼圖后的測試彈和電子測時儀
本文借鑒模型(Model)、視圖(View)、控制器(Controller)組成的MVC設(shè)計模式[2],來實現(xiàn)用戶與系統(tǒng)的交互功能。首先,用戶進(jìn)入View視圖,即虛擬實驗場景中,根據(jù)場景中的指導(dǎo)性文字、箭頭,開始進(jìn)行實驗操作,所做的操作將以命令的形式傳遞到Controller中,對用戶的操作進(jìn)行分類、判斷后,最后對模型進(jìn)行相應(yīng)的控制,如移動測試彈、放置測試彈、接線等。模型受到相應(yīng)的操作控制后,在View中顯示出來,反饋給用戶。用戶繼而根據(jù)反饋,進(jìn)行下一步的操作,如此循環(huán)往復(fù),實現(xiàn)系統(tǒng)的交互功能。Unity3D主要通過腳本程序組件對模型進(jìn)行控制,即通過腳本程序控制模型的材質(zhì)改變、動作方式等。Unity3D主要支持C#、JavaScript兩種腳本語言[15-16],本文主要采用C#腳本編程實現(xiàn)系統(tǒng)的交互功能。
在Unity3D中開發(fā)殺爆彈靜爆虛擬實驗系統(tǒng)的關(guān)鍵是正確使用程序中的腳本函數(shù),實現(xiàn)場景中的物件與用戶的交互。下面對彈丸的選擇、模型移動、虛擬實驗系統(tǒng)的搭建、彈丸靜爆特效、考核計分等交互功能的實現(xiàn)進(jìn)行簡要的介紹。
(1)彈丸的選擇功能實現(xiàn)。本例中用到57 mm高射榴彈、85 mm榴彈、105 mm殺爆榴彈等彈丸。在虛擬環(huán)境中將彈丸設(shè)置為預(yù)制體,在彈丸的安裝初始位置上添加3個彈丸預(yù)制體。通過點擊用戶界面(User Interface,UI)上的切換彈丸按鈕觸發(fā)彈丸預(yù)制體隱藏或顯示效果,從而實現(xiàn)彈丸的選擇功能。
(2)實驗裝置模型移動功能的實現(xiàn)。在虛擬實驗操作中會涉及到場景中測速通靶、電子測時儀、壓電傳感器等裝置模型的移動操作,鼠標(biāo)點擊響應(yīng)后,截取到鼠標(biāo)點擊的屏幕上的那條射線,并將其進(jìn)行碰撞檢測,連續(xù)判斷指針上是否有模型,鼠標(biāo)右鍵判斷其ID是否一致,若一致則模型位置就是鼠標(biāo)位置,即鼠標(biāo)拖動模型移動到相應(yīng)位置。
(3)測試彈丸的放置。按實驗要求,經(jīng)改造后的彈丸應(yīng)豎直放置在爆樁上,并使被試彈丸放置后其質(zhì)心距地面的距離為1.5 m。在本實驗系統(tǒng)中,對實際操作過程簡化后,設(shè)計了一個虛擬人并結(jié)合Mecanim動畫系統(tǒng)來完成測試彈的安裝。在Unity中,Mecanim動畫系統(tǒng)是一種高效、方便的動畫制作的工具,通過動畫控制器可以讓大部分的動畫開發(fā)工作與代碼分離,使用簡單的單擊和拖拽就能完成動畫控制器的創(chuàng)建。用戶操作的交互過程采用UI界面交互來實現(xiàn),最終效果如圖4所示。
圖4 測試彈丸的安裝
(4)彈丸靜爆特效的實現(xiàn)。彈丸靜爆是在按下起爆開關(guān)后,觸發(fā)引信,被測彈丸被引爆,產(chǎn)生火光,破片飛散,穿過或卡入靶板和通靶的過程。為表現(xiàn)殺爆彈的靜爆效果,可用Unity集成開發(fā)環(huán)境中粒子系統(tǒng)來模擬爆炸時的火焰及煙霧等效果。為彈丸預(yù)制體添加粒子系統(tǒng)(Particle System)對象,設(shè)置Transform和粒子參數(shù),模擬彈丸爆炸時產(chǎn)生火光和破片飛散的效果。效果如圖5所示。
圖5 炮彈觸發(fā)特效的實現(xiàn)
(5)考核計分功能的實現(xiàn)。根據(jù)用戶的實驗操作,在用戶點擊提交按鈕后,系統(tǒng)自動給出考核成績,滿分為100分。在系統(tǒng)中可根據(jù)實驗要求設(shè)計實驗步驟,對每一個步驟進(jìn)行順序編號形成一個序列。在每次實驗過程中記錄操作者的操作步驟序列,再與系統(tǒng)預(yù)設(shè)的步驟序列進(jìn)行比對,從而計算出考核分?jǐn)?shù)。
系統(tǒng)各模塊開發(fā)完成后,發(fā)布后的殺爆彈靜爆虛擬實驗系統(tǒng)的格式為.exe,在Windows系統(tǒng)中可直接打開運行。打開后,首先進(jìn)入登錄界面,用戶輸入學(xué)號、密碼,點擊登錄后,即可進(jìn)入殺爆彈靜爆虛擬實驗系統(tǒng)界面。點擊扇形靶實驗按鈕,進(jìn)入實驗?zāi)J竭x擇界面,分別點擊學(xué)習(xí)模式、訓(xùn)練模式、考核模式按鈕,即可進(jìn)入對應(yīng)的實驗?zāi)J?。扇形靶實驗?zāi)J竭x擇界面如圖6所示。
圖6 扇形靶實驗?zāi)J竭x擇
在考核模式下,用戶可查看實驗?zāi)康?、實驗?zhǔn)備、場景布置并根據(jù)實驗步驟完成實驗操作,提交后,即可查看成績。界面如圖7所示,圖中①為實驗步驟按鈕區(qū);②為實驗計時區(qū);③為實驗場景俯視圖和幫助按鈕區(qū);④為彈丸測試菜單,包含工具選擇、炮彈觸發(fā)、切換彈丸、靶板材料等;⑤為工具選擇子菜單,包含測試彈、通靶靶板、多通道計時儀等實驗工具和儀器的選擇;⑥為實驗步驟提示面板;⑦為提交后彈出的成績面板,顯示得分與實驗用時。
圖7 考核模式界面
本文基于Unity3D平臺,結(jié)合殺爆彈靜爆實驗開展的實際情況,對實驗的過程進(jìn)行交互設(shè)計,建立了殺爆彈靜爆實驗的虛擬場景,完成了實驗過程的虛擬仿真,分別通過學(xué)習(xí)模式、訓(xùn)練模式、考核模式滿足不同的實驗需求。
虛擬實驗系統(tǒng)解決了高校此類實驗教學(xué)無法開展的問題,沒有真實實驗的危險性。本系統(tǒng)達(dá)到了預(yù)期的效果,未來將進(jìn)一步完善其內(nèi)容和功能。具體的工作包括:增強(qiáng)系統(tǒng)的沉浸性、增加實時仿真模塊等。