夏亮 馮玉博
(中國人民解放軍92728 部隊(duì) 上海市 200436)
在武器裝備研制中引入虛擬現(xiàn)實(shí)仿真技術(shù),預(yù)期可以大幅消減武器裝備的研制成本,壓縮研制時間,降低研發(fā)費(fèi)用,具有重大的實(shí)際意義[1]。隨著航母的發(fā)展,艦載機(jī)作為航母搭載的主要作戰(zhàn)力量,在現(xiàn)代戰(zhàn)爭中發(fā)揮著威懾和打擊敵人的重要作用。不過在艦載機(jī)訓(xùn)練過程中需要大量消耗大量的人力物力,耗資太大。在此背景下,利用Vega 或者OpenVS 等軟件開發(fā)虛擬現(xiàn)實(shí)視景仿真系統(tǒng)來進(jìn)行艦載機(jī)的模擬起飛訓(xùn)練,作為艦載機(jī)起飛流程制定或者培訓(xùn)教學(xué)提供強(qiáng)有力支撐和更為可靠的實(shí)驗(yàn)依據(jù)[2]。本文主要對艦載機(jī)起飛視景仿真中的關(guān)鍵技術(shù),包括模型建立、DOF 設(shè)定以及多視角多通道等技術(shù)進(jìn)行介紹。
本文實(shí)現(xiàn)的是對艦載機(jī)起飛執(zhí)行任務(wù)的全過程進(jìn)行視景仿真。設(shè)置仿真事件流程如圖1。
以上為仿真事件全過程,在仿真過程中一方面界面中通過多個通道進(jìn)行全面的信息展示,另一方面操作人員也可以通過人機(jī)交互來實(shí)現(xiàn)從不同的視角對艦載機(jī)進(jìn)行觀察。
要想滿足高精度、高逼真度的要求,應(yīng)建立諸如航母、艦載機(jī)等數(shù)字仿真模型,并構(gòu)建相應(yīng)的三維場景模型,便于在系統(tǒng)內(nèi)部實(shí)現(xiàn)圖形仿真與數(shù)字仿真模型之間的通信。但需要注意的是,圖像仿真時,需將實(shí)時渲染技術(shù)應(yīng)用于圖形仿真的過程中。目前在建模軟件與仿真平臺中,Creator 建模工具及Vega 可視化三維視景仿真軟件更適合應(yīng)用于虛擬現(xiàn)實(shí)建模,因此本次建模、仿真,選取上述兩個工具。
MultiGen-Creator 作為實(shí)時三維建模工具,在逼真度和優(yōu)化效果方面,都具有較高優(yōu)勢,適用于對精度要求較高的實(shí)時3D建模中,同時也使用與交互式游戲、城市仿真建模等處。它擁有針對實(shí)時應(yīng)用優(yōu)化的OpenFlight 數(shù)據(jù)格式,強(qiáng)大的多邊形建模、矢量建模、大面積地形精確生成功能,以及多種專業(yè)選項(xiàng)及插件,能高效、最優(yōu)化地生成實(shí)時三維(RT3D)數(shù)據(jù)庫,并與后續(xù)的實(shí)時仿真軟件緊密結(jié)合[3]。
Vega 一種高性能的開發(fā)環(huán)境,用于虛擬現(xiàn)實(shí)程序開發(fā)和實(shí)時仿真環(huán)境建立。不僅可以實(shí)現(xiàn)基礎(chǔ)的虛擬場景管理與驅(qū)動控制,對于復(fù)雜的視覺仿真、交互式三維環(huán)境構(gòu)建等功能也能實(shí)現(xiàn)。Vega包括完整的C 語言應(yīng)用程序接口API、交互性好的圖形環(huán)境界面Lynx、大量的相關(guān)實(shí)用庫函數(shù)和一批有選擇的功能模塊[4]。Vega 優(yōu)化了源代碼編程,更便于軟件后期維護(hù)與管理,有利于優(yōu)化軟件的實(shí)用性能,可有效提高軟件工作效率。

圖1:仿真事件流程圖

圖2:三維模型
首先創(chuàng)建模型數(shù)據(jù)庫,運(yùn)用實(shí)時可視化三維建模軟件系統(tǒng),對涉及的航空母艦、艦載戰(zhàn)斗機(jī)等模型數(shù)據(jù)進(jìn)行渲染和計算,力求在虛擬場景中如實(shí)反映所有的實(shí)物,并與外部輸入輸出信息進(jìn)行及時交互,為獲得較為滿意的仿真運(yùn)行效率,就必須提高模型數(shù)據(jù)庫在實(shí)時仿真系統(tǒng)中的流暢性和運(yùn)行速度,調(diào)整和優(yōu)化模型數(shù)據(jù)庫[5]。由于涉及多個復(fù)雜的模型,使得仿真應(yīng)用中的模型多邊形數(shù)量急劇增加,因此三維仿真建模的關(guān)鍵就是優(yōu)化模型數(shù)據(jù),盡可能提高優(yōu)化程度。
2.1.1 模型優(yōu)化的原則
在三維仿真模型中,數(shù)據(jù)庫內(nèi)的多邊形數(shù)量與用戶視覺能力息息相關(guān),可以簡單的理解為多邊形數(shù)量越多越能滿足用戶的視覺需求,同時也會給系統(tǒng)運(yùn)行帶來負(fù)荷。相反的,多邊形數(shù)量越少,系統(tǒng)的運(yùn)行壓力越小,但是不能滿足用戶的視覺要求。在仿真建模過程中,就是要在滿足視覺要求前提下盡量減少多邊形數(shù)量,這是模型優(yōu)化的原則和要求[4]。
2.1.2 模型優(yōu)化的方法
對模型進(jìn)行優(yōu)化,不能僅依靠單一的方法進(jìn)行,通過調(diào)整模型數(shù)據(jù)庫的層次結(jié)構(gòu)、運(yùn)用LOD 技術(shù),并將模型對象實(shí)例化,將模型細(xì)節(jié)部分采用紋理的方式修飾,刪減掉多余的多邊形。
2.1.3 建立的優(yōu)化模型
根據(jù)上述優(yōu)化原則和方法建立了艦載直升機(jī)、艦載機(jī)和航母等模型。部分模型如圖2所示。
為了使操作人員盡可能全面的觀察艦載機(jī)起飛時的姿態(tài),為提高展示效果,以多通道、多視角的方式加以展示,以不同的通道對應(yīng)指定的視角。在顯示器上同時顯示3 個不同通道作為主畫面,也可以通過鍵盤方便的控制和切換觀察的方位,利用更多的通道進(jìn)行觀察,主通道是以艦橋指揮臺為視角進(jìn)行觀察的通道,左上角是駕駛艙內(nèi)視角通道,右上角是俯視航母的全景視角通道,具體操作:
(1)在Vega 提供的Lynx 面板下,選擇“Channels”,建立8個通道,根據(jù)運(yùn)行要求選擇“channels position”,將通道設(shè)置在系統(tǒng)窗口的初始位置上。
(2)選擇“Observers”,建立7 個觀察者,并分別與7 個通道相對應(yīng),為每個觀察者選擇觀察目標(biāo),7 個視點(diǎn)分別為:高空視角對航母全局進(jìn)行俯視觀察、遠(yuǎn)處對航母進(jìn)行全景觀察、艦艏視角對艦載直升機(jī)進(jìn)行跟蹤觀察、機(jī)庫視角對艦載機(jī)牽引出庫進(jìn)行跟蹤觀察、艦橋后部視角對艦載機(jī)在暖機(jī)位待命進(jìn)行觀察、艦橋前部視角對艦載機(jī)起飛進(jìn)行觀察,以及座艙內(nèi)視角通過平顯對艦載機(jī)飛行狀態(tài)進(jìn)行觀察[5]。
(3)通過對Vega API 編程利用vgChannel*tank_chan 函數(shù)定義通道,再調(diào)用vgFindChan 函數(shù)獲取實(shí)例中的通道,通過switch(key)函數(shù)獲取鍵盤信息,最后用vgChanViewport 函數(shù)來進(jìn)行相應(yīng)的消息處理,設(shè)置指定通道全屏顯示。
在視景仿真時,為了實(shí)現(xiàn)艦載機(jī)機(jī)翼折疊和展開及飛行甲板檔流板的升起,在三維建模時需要利用DOF 技術(shù)對相關(guān)機(jī)體結(jié)構(gòu)進(jìn)行設(shè)計,使得模型對象具有活動能力DOF 節(jié)點(diǎn)來控制它的所有子節(jié)點(diǎn)按照預(yù)先設(shè)置的自由度范圍,進(jìn)行位移或者旋轉(zhuǎn)。
DOF 技術(shù)就是Degree of Free 自由度,模型活動能力在MultiGen-Creator 軟件中是通過DOF 節(jié)點(diǎn)來定義實(shí)現(xiàn)的,具體方法如下:
(1)創(chuàng)建模型各個關(guān)鍵部位的DOF 節(jié)點(diǎn);
(2)將艦載機(jī)的可折疊機(jī)翼部分節(jié)點(diǎn)和檔流板節(jié)點(diǎn)設(shè)置為DOF 節(jié)點(diǎn)的子節(jié)點(diǎn);
(3)使用“Local-DOF/Position DOF”命令分別在艦載機(jī)機(jī)翼折疊處和檔流板旋轉(zhuǎn)處創(chuàng)建子坐標(biāo)系;
(4)通過“Local-DOF/Set DOF Limits”命令來設(shè)置各個部位的DOF 節(jié)點(diǎn)自由度范圍,各節(jié)點(diǎn)分別設(shè)置為Rotate 屬性,并設(shè)置相應(yīng)的旋轉(zhuǎn)角度;
(5)使用“Local-DOF/DOF Viewer”菜單命令,檢驗(yàn)?zāi)P蛿?shù)據(jù)庫中所有DOF 的應(yīng)用效果。
操作人員的操作情況是通過飛行動態(tài)平顯頁面來實(shí)現(xiàn)飛行視景信息的交互傳遞,操作人員以平顯數(shù)據(jù)為參照,調(diào)整操作精度,實(shí)現(xiàn)觀察視點(diǎn)的有效控制,便于全面觀察場景。
在座艙平顯的模型層次數(shù)據(jù)庫中引入自由度節(jié)點(diǎn)、開關(guān)節(jié)點(diǎn)、動態(tài)文本節(jié)點(diǎn)以及剪切面等相關(guān)的動態(tài)元素,通過在Vega 環(huán)境中調(diào)用相關(guān)動態(tài)元素的驅(qū)動函數(shù),從而實(shí)現(xiàn)座艙平顯模型數(shù)據(jù)的動態(tài)變化與實(shí)時仿真。
本文利用Creator 和Vega 軟件直觀的展示艦載機(jī)起飛過程,實(shí)現(xiàn)艦載機(jī)起飛視景仿真。通過視景驅(qū)動可以看出,仿真是成功地。建立的航母、艦載機(jī)等模型逼真準(zhǔn)確;DOF 技術(shù)很好的實(shí)現(xiàn)了艦載機(jī)的機(jī)翼折疊和檔流板的收放;利用Vega 軟件建立的海洋環(huán)境通過虛擬場景的渲染可以很好的達(dá)到沉浸效果;多通道、多視角技術(shù)和飛機(jī)屏顯模擬技術(shù)也讓用戶可以從不同角度、全方位的觀察艦載機(jī)起飛的全過程和飛行的數(shù)據(jù)參數(shù)。該仿真人機(jī)交互功能正常。所做研究對艦載機(jī)起飛訓(xùn)練和教學(xué)提供很好的平臺,并對其他可視化仿真也具有一定的參考價值。