鐘文武,周新力,金慧琴,張 燁
(海軍航空工程學(xué)院,山東 煙臺(tái) 264001)
數(shù)字地圖和圖像顯示是飛行器任務(wù)規(guī)劃系統(tǒng)(Mission Planning System,MPS)的重要組成部分。目前,我國的MPS主要是以二維圖形圖像來展示戰(zhàn)場(chǎng)態(tài)勢(shì)和地形環(huán)境,隨著虛擬現(xiàn)實(shí)(Virtual Reality,VR)技術(shù)的發(fā)展,現(xiàn)代先進(jìn)的MPS應(yīng)該具有對(duì)空間信息進(jìn)行可視化和動(dòng)態(tài)分析處理的能力[1]。視景仿真是VR技術(shù)的一種最重要的表現(xiàn)形式,它通過三維圖像技術(shù)模擬各種真實(shí)的作戰(zhàn)環(huán)境,實(shí)現(xiàn)了用戶與作戰(zhàn)環(huán)境直接進(jìn)行自然交互[2]。將視景仿真技術(shù)應(yīng)用于任務(wù)預(yù)演系統(tǒng),使用戶在三維虛擬世界中預(yù)演任務(wù)規(guī)劃,與傳統(tǒng)二維靜態(tài)的顯示方式相比,具有明顯優(yōu)勢(shì):1)在顯示內(nèi)容上,傳統(tǒng)MPS主要是對(duì)地形、威脅進(jìn)行描述,而采用視景仿真技術(shù)的任務(wù)預(yù)演系統(tǒng)具有三維地形、三維電磁環(huán)境、氣象環(huán)境、武器裝備作戰(zhàn)場(chǎng)景等顯示功能;2)在顯示方式上,傳統(tǒng)MPS以表格、文字和圖片等二維方式來顯示戰(zhàn)場(chǎng)信息,而采用視景仿真技術(shù)的任務(wù)預(yù)演系統(tǒng)可以通過聲音、三維圖像等多維形式預(yù)演作戰(zhàn)效果;3)在任務(wù)預(yù)演效果評(píng)判上,傳統(tǒng)MPS主要依人工計(jì)算,采用視景仿真技術(shù)的任務(wù)預(yù)演系統(tǒng)利用計(jì)算機(jī)強(qiáng)大的計(jì)算和顯示能力,為作戰(zhàn)效能評(píng)估提供直觀的支持,以便指揮人員做出正確決策,使規(guī)劃結(jié)果更全面、準(zhǔn)確和真實(shí)。
視景仿真主要分為三維模型建模、場(chǎng)景驅(qū)動(dòng)管理和圖像顯示三部分。其中,三維模型建模主要包括數(shù)據(jù)采集、地景模型建模、三維實(shí)體模型建模、場(chǎng)景構(gòu)造、紋理設(shè)計(jì)制作等,場(chǎng)景驅(qū)動(dòng)管理主要包括場(chǎng)景驅(qū)動(dòng)、模型調(diào)度處理、大地形處理等,圖像顯示主要包括實(shí)時(shí)三維場(chǎng)景顯示和交互操作。目前比較常用的視景仿真應(yīng)用工具是加拿大Presagis公司推出的專門用于視景仿真的產(chǎn)品,包括 Creator、Terra Vista、Vega Prime 等。本文以場(chǎng)景驅(qū)動(dòng)渲染工具Vega Prime為核心,結(jié)合3D實(shí)體模型開發(fā)工具Creator和三維地形模型開發(fā)工具Terra Vista,快速完成三維場(chǎng)景建模和視景應(yīng)用開發(fā)。
Creator是一款業(yè)內(nèi)一流的三維實(shí)體建模工具,其基本模塊為用戶提供了一個(gè)功能強(qiáng)大、交互式的可視化建模環(huán)境,用戶可以快速地創(chuàng)建三維模型。它的主要功能包括:多邊形建模功能、模型數(shù)據(jù)庫控制功能、紋理映射功能,多細(xì)節(jié)層次(LOD)建模等。其生成的數(shù)據(jù)格式OpenFlight為視景仿真業(yè)內(nèi)的標(biāo)準(zhǔn)格式,可以直接加載到Presagis的其他產(chǎn)品中。雖然Creator本身自帶地形建模工具,但是功能相對(duì)較弱,實(shí)時(shí)性也較差,因此Creator在本文中只用作單體建模,如飛機(jī)、車輛、建筑等模型。
Terra Vista是基于Windows平臺(tái)的實(shí)時(shí)三維地形模型生成工具,用戶可通過簡(jiǎn)單易用的圖形界面快速生成大規(guī)模地形。應(yīng)用Terra Vista完成大范圍地形生成主要有以下特點(diǎn):1)文化特征的處理:引進(jìn)了點(diǎn)、線、面三種矢量工具制作復(fù)雜幾何圖形的方法,對(duì)文化特征數(shù)據(jù)可以進(jìn)行批量生成和處理;2)特殊的地理紋理結(jié)構(gòu):支持最普及的衛(wèi)星影像發(fā)布格式(geotiff),并可自動(dòng)與高程數(shù)據(jù)坐標(biāo)對(duì)準(zhǔn)和進(jìn)行地學(xué)標(biāo)準(zhǔn)化;3)支持多種輸出格式:輸出格式包括OpenFlight、TerraPage和MetaFlight,其中后兩者可直接應(yīng)用于Vega Prime的大范圍地景數(shù)據(jù)庫管理模塊。
Vega Prime是基于VSG(Vega Scene Graph)的實(shí)時(shí)三維視景開發(fā)工具,VSG是一種先進(jìn)的跨平臺(tái)場(chǎng)景圖形API,其底層為OpenGL,因此具有高度的可擴(kuò)展性。同時(shí),Vega Prime還提供強(qiáng)大的圖形用戶界面 Lynx Prime,大幅縮減了源代碼編寫,使用戶能夠簡(jiǎn)單迅速地創(chuàng)建、編輯和運(yùn)行復(fù)雜的三維仿真應(yīng)用,極大地提高了軟件開發(fā)效率[3]。除了Lynx Prime和VSG兩個(gè)基本模塊外,Vega Prime還提供了多個(gè)針對(duì)不同應(yīng)用領(lǐng)域的可選模塊。
系統(tǒng)開發(fā)主要分為數(shù)據(jù)準(zhǔn)備與處理、三維場(chǎng)景構(gòu)建和場(chǎng)景驅(qū)動(dòng)管理三部分,基本流程如圖1所示。
構(gòu)建逼真的三維地形需要包含各種豐富的地形地貌數(shù)據(jù)信息,這些數(shù)據(jù)可以分為以下幾類。
1)地形高程數(shù)據(jù)
地形高程數(shù)據(jù)是三維地景模型生成的基礎(chǔ)。最常用的高程數(shù)據(jù)為數(shù)字高程模型(Digital Elevation Model,DEM)。Terra Vista支持多種版本的 DEM,本文仿真實(shí)驗(yàn)所使用的DEM數(shù)據(jù)是美國航天飛機(jī)雷達(dá)地形測(cè)繪計(jì)劃(Shuttle Radar Topography Mission,SRTM)獲取的30m和90m兩種分辨率的V4.1版本DEM數(shù)據(jù)。
圖1 仿真系統(tǒng)基本制作流程
2)地形紋理數(shù)據(jù)
地形紋理反映了地表的覆蓋物情況,為地形添加紋理數(shù)據(jù)能使生成的三維地形更加逼真。雖然Terra Vista中包含了大量的紋理貼圖,但對(duì)于大范圍地形來說這些紋理數(shù)據(jù)無法滿足實(shí)際需求,因此一般采用添加衛(wèi)星影像數(shù)據(jù)和航拍圖像作為地形紋理的方法。Terra Vista支持包含坐標(biāo)信息的圖像數(shù)據(jù)的直接導(dǎo)入,并可自動(dòng)實(shí)現(xiàn)坐標(biāo)對(duì)準(zhǔn)。對(duì)于不含坐標(biāo)信息的航拍圖像,可通過Global Mapper軟件為其添加坐標(biāo)信息,并輸出為geotiff格式,再導(dǎo)入Terra Vista,便可自動(dòng)與DEM匹配。本文所使用的紋理數(shù)據(jù)有兩種:一種是直接從衛(wèi)星地圖下載器下載的15m分辨率衛(wèi)星影像,另一種是機(jī)場(chǎng)附近的65cm高分辨航拍圖像。
3)文化特征數(shù)據(jù)
文化特征數(shù)據(jù)指地物模型,包括自然和人工地物,例如河流、湖泊、道路、建筑等,添加文化特征數(shù)據(jù)能使三維場(chǎng)景更加真實(shí)。在Terra Vista中,地物模型以矢量數(shù)據(jù)的方式添加到地形中。Terra Vista提供了“點(diǎn)”、“線”、“面”三種制作矢量數(shù)據(jù)的模板,“點(diǎn)”主要用來建立離散的地物,如單幢建筑、樹木、汽車等,“線”主要用來建立狹長(zhǎng)的地物,如河流、道路等,“面”主要用來建立成片的地物,如居民區(qū)、湖泊、森林等。
4)3D模型
3D模型的加入能豐富地形場(chǎng)景,增強(qiáng)三維效果。Terra Vista自帶了一個(gè)3D模型數(shù)據(jù)庫,包含了一些常用的3D模型,對(duì)于數(shù)據(jù)庫中沒有的模型,可以用Creator制作,輸出為flt格式,再添加到Terra Vista的3D模型庫中。
為了滿足不同飛行區(qū)域?qū)Φ匦尉鹊牟煌?,本文將地形分為兩個(gè)區(qū)域:機(jī)場(chǎng)附近區(qū)域和高空飛行區(qū)域。機(jī)場(chǎng)附近區(qū)域的面積小,但飛機(jī)飛行高度低,因此對(duì)生成的地形逼真度要求較高,本文對(duì)這塊區(qū)域采用高精度建模,使用30m精度的DEM和65cm分辨率的航拍圖像作為數(shù)據(jù)源,同時(shí)添加文化特征數(shù)據(jù)和3D模型。高空飛行區(qū)的面積大,為了減小系統(tǒng)開銷,采用90m精度的DEM和15m分辨率的衛(wèi)片作數(shù)據(jù)源,同時(shí)適當(dāng)降低地形塊的多邊形數(shù)量。使用Terra Vista構(gòu)建三維地形的過程如下:
1)將生成地形模型所需要的源數(shù)據(jù),如高程數(shù)據(jù)、紋理數(shù)據(jù)、3D模型等,導(dǎo)入Terra Vista工程,系統(tǒng)自動(dòng)對(duì)資源數(shù)據(jù)進(jìn)行組織。
2)通過數(shù)據(jù)導(dǎo)入向?qū)?,在?shù)據(jù)導(dǎo)入的過程中完成各種參數(shù)的設(shè)置:①投影方式選擇平坦地球(Flat Earth);②計(jì)算地形區(qū)域采用自動(dòng)計(jì)算;③應(yīng)用類型選擇地面模式(Ground Vehicle);④輸出格式為 Open-Flight和MetaFlight;⑤數(shù)據(jù)庫參數(shù)設(shè)置:根據(jù)實(shí)際需求和系統(tǒng)硬件配置對(duì)以上參數(shù)進(jìn)行設(shè)置,包括視野范圍、LOD層數(shù)、最大距離、網(wǎng)格大小、多邊形數(shù)等。
3)繪制矢量數(shù)據(jù):根據(jù)機(jī)場(chǎng)附近區(qū)域?qū)嶋H地物所在位置使用矢量編輯器繪制矢量數(shù)據(jù),并與三維模型相關(guān)聯(lián),最后保存為vec格式。高空飛行區(qū)包含海洋部分,因此需要用“面”矢量工具創(chuàng)建海洋區(qū)域,并將其屬性設(shè)置為ocean,這樣在Vega Prime中調(diào)用vpMarine模塊時(shí)這部分區(qū)域?qū)⒈粍?dòng)態(tài)海洋替換。
4)設(shè)置地形數(shù)據(jù)輸出區(qū)域,生成相應(yīng)格式的三維地形。
采用以上步驟生成的三維地形如圖2所示。
圖2 Terra Vista生成的三維地形
場(chǎng)景驅(qū)動(dòng)管理是飛行仿真系統(tǒng)的核心部分。Vega Prime是一款專用于場(chǎng)景驅(qū)動(dòng)管理的精華渲染軟件,不僅可以實(shí)現(xiàn)用戶與場(chǎng)景的交互操作,還提供大量高級(jí)仿真功能。通過LynX Prime編輯器,用戶可以添加類的實(shí)例對(duì)象,并為這些實(shí)例對(duì)象定義參數(shù),這些參數(shù)存儲(chǔ)在一個(gè)應(yīng)用程序的實(shí)例框架中,形成一個(gè)應(yīng)用程序配置文件(Application Configuration File,ACF)。ACF文件包含一個(gè)Vega Prime應(yīng)用程序初始化和運(yùn)行時(shí)所需的信息。本仿真系統(tǒng)配置的ACF文件主要包括以下功能模塊。
1)大場(chǎng)景地形管理模塊
傳統(tǒng)加載地形數(shù)據(jù)的方法是將flt地形文件一次性載入內(nèi)存,這種方法相對(duì)簡(jiǎn)單,但對(duì)大規(guī)模的地形場(chǎng)景來說,會(huì)導(dǎo)致內(nèi)存被大量占用且預(yù)加載時(shí)間特別長(zhǎng),這對(duì)用戶來說無法忍受。為提高系統(tǒng)渲染性能,Vega Prime提供了專用于大規(guī)模和復(fù)雜地景數(shù)據(jù)庫管理的模塊LADBM,基于XML MetaFlight格式的LADBM模塊能夠在動(dòng)態(tài)頁面調(diào)用時(shí)確保地景數(shù)據(jù)庫裝載和組織的最優(yōu)化。LADBM的核心是多層網(wǎng)格結(jié)構(gòu)(Geometry Grid Datasets)。多層網(wǎng)格結(jié)構(gòu)實(shí)際上是將地形劃分為具有不同細(xì)節(jié)層次的地形網(wǎng)格,如圖3所示。同一片區(qū)域,低細(xì)節(jié)層次的部分包含在較高的細(xì)節(jié)層次中。
圖3 具有3層LOD的網(wǎng)格結(jié)構(gòu)
LADBM模塊的工作流程如下[5]:
①判斷網(wǎng)格坐標(biāo)系統(tǒng)與地形場(chǎng)景坐標(biāo)系統(tǒng)是否一致,如果不一致則將地形場(chǎng)景坐標(biāo)轉(zhuǎn)換到網(wǎng)格坐標(biāo);
②從LOD的最低層次開始,判斷各個(gè)網(wǎng)格與調(diào)度中心點(diǎn)的距離關(guān)系。如果最接近調(diào)度中心點(diǎn)的網(wǎng)格不在調(diào)度范圍內(nèi),則提交一個(gè)調(diào)度該網(wǎng)格的請(qǐng)求;
③判斷所有的相鄰?fù)咂欠駶M足調(diào)度范圍直到超出調(diào)度范圍,提交調(diào)度所有滿足條件的網(wǎng)格的請(qǐng)求;
④調(diào)出那些不再滿足調(diào)度范圍的網(wǎng)格;
⑤讀取指定的地形網(wǎng)格并分配內(nèi)存進(jìn)行初始化;
⑥進(jìn)入LOD的下一個(gè)層次,重復(fù)②-④,直到所有層次都被處理。
2)碰撞檢測(cè)模塊
碰撞檢測(cè)是飛行視景仿真中一項(xiàng)必不可少的功能,以避免出現(xiàn)飛機(jī)穿過建筑或地面等不真實(shí)的情況。Vega Prime中定義了抽象類vpIsector來配置和查詢碰撞檢測(cè),并且派生出了多個(gè)具體的檢測(cè)器。每種檢測(cè)器都以其為中心向四周擴(kuò)散出一些線段來進(jìn)行檢測(cè),當(dāng)這些線段和目標(biāo)物體發(fā)生相交時(shí)系統(tǒng)便認(rèn)為碰撞發(fā)生。本系統(tǒng)主要使用了監(jiān)測(cè)海拔高度的vpIsectorHAT和描述瞄準(zhǔn)線的vpIsectorLOS兩種檢測(cè)器來檢測(cè)飛機(jī)與地面和建筑的碰撞。
3)路徑模塊
路徑模塊為用戶提供了一種快速方法,用來定義飛機(jī)的航路點(diǎn)參數(shù)和配置導(dǎo)航器,飛機(jī)或觀察者可以在導(dǎo)航器的控制下沿著指定路徑在場(chǎng)景中運(yùn)動(dòng)。本文使用LynX Prime中提供的Path Tool工具定義航路點(diǎn)和導(dǎo)航器。航路點(diǎn)參數(shù)包括坐標(biāo)(X、Y、Z)和姿態(tài)(H、P、R)6個(gè)參數(shù)。導(dǎo)航器定義了飛機(jī)如何經(jīng)過導(dǎo)航點(diǎn),包括速度、方向、導(dǎo)航點(diǎn)的連接方式以及到達(dá)最后一個(gè)導(dǎo)航點(diǎn)時(shí)采取的動(dòng)作。
4)海洋模塊
Vega Prime Marine模塊能方便地在地形中添加逼真的動(dòng)態(tài)海洋。該模塊提供了一個(gè)高性能的波動(dòng)模型來控制海洋狀態(tài),包括海水的運(yùn)動(dòng)方向、浪高、波長(zhǎng)等。由于在用Terra Vista生成地形時(shí)劃定了海洋區(qū)域,因此在調(diào)用vpMarine模塊時(shí)該區(qū)域會(huì)被替換為動(dòng)態(tài)海洋。
5)環(huán)境模塊
Vega Prime中的環(huán)境模塊vpEnv用來模擬各種自然環(huán)境。通過輸入日期、時(shí)間、經(jīng)緯度等參數(shù),系統(tǒng)能自動(dòng)計(jì)算出當(dāng)前環(huán)境。此外,還可以向系統(tǒng)中添加各種天氣特效以增強(qiáng)仿真效果。本仿真系統(tǒng)模擬了白天、夜間兩種時(shí)間狀態(tài)和雨、雪、霧、雷電4種特殊天氣情況。
配置好ACF文件后,將其導(dǎo)出為CPP源代碼,并在VS2005環(huán)境下編譯生成Win32應(yīng)用程序。整個(gè)應(yīng)用包含了配置Vega Prime應(yīng)用的API,包括初始化、定義、配置和退出仿真循環(huán)的API命令和類,基本的Vega Prime程序框架如下:
本仿真實(shí)例的目標(biāo)是建立不同環(huán)境下的飛行仿真三維視景,包括駕駛員動(dòng)態(tài)三維視景、飛行軌跡的動(dòng)態(tài)三維視景、飛機(jī)著陸著艦三維視景等。仿真的硬件平臺(tái)為PC機(jī),處理器為AMD Althlon II X2,主頻2.90GHz,4G內(nèi)存,NVIDIA GeForce顯卡,128M顯存。繪制視野范圍分別為0m~100m,100m~500m,500m~1000m,仿真結(jié)果如圖4、5、6所示。由仿真結(jié)果可以看出,該系統(tǒng)場(chǎng)景逼真,運(yùn)行流暢,能較好地模擬作戰(zhàn)飛行任務(wù)。
表1對(duì)比了采用傳統(tǒng)加載flt模型和紋理與采用LADBM模塊動(dòng)態(tài)加載mft文件兩種渲染方法系統(tǒng)的開銷情況。由表1可以看出,采用LADBM方法加載地形的速度明顯優(yōu)于直接加載flt文件,雖然在不同LOD上采用LADBM會(huì)增加時(shí)間消耗,但在不影響畫面效果的情況下?lián)Q來的是內(nèi)存的大量釋放,這對(duì)大場(chǎng)景實(shí)時(shí)漫游來說是值得的。
表1 大場(chǎng)景渲染方法對(duì)比(表中時(shí)間單位ms,內(nèi)存單位M)
圖4 飛行軌跡動(dòng)態(tài)三維視景
圖5 動(dòng)態(tài)海洋和飛機(jī)著艦視景
圖6 多通道三維視景
數(shù)字地圖和圖像處理技術(shù)作為MPS的重要組成部分,將逐漸擺脫傳統(tǒng)靜態(tài)的、二維的約束,而向動(dòng)態(tài)多維發(fā)展。本文以Creator、Terra Vista和Vega Prime等仿真工具為基礎(chǔ),研究了飛行仿真中大范圍三維地形的制作、大地形管理、場(chǎng)景驅(qū)動(dòng)等關(guān)鍵技術(shù),并以具體實(shí)例設(shè)計(jì)了一個(gè)飛行任務(wù)預(yù)演仿真系統(tǒng),在MPS上具有一定的實(shí)際應(yīng)用價(jià)值。
[1]唐金國.美軍MPS的發(fā)展現(xiàn)狀和關(guān)鍵技術(shù)[J].火力與指揮控制,2004,29(5):4-6.
[2]高穎,郭淑霞.虛擬現(xiàn)實(shí)視景仿真技術(shù)[M].西安:西北工業(yè)大學(xué)出版社,2014.
[3]王孝平,等.Vega Prime實(shí)時(shí)三維虛擬現(xiàn)實(shí)開發(fā)技術(shù)[M].成都:西南交通大學(xué)出版社,2012.
[4]田軍良,謝云開,唐小貝,等.基于Terra Vista的真實(shí)大地景模擬仿真[J].指揮控制與仿真,2013,35(1):83-86.
[5]姚凡凡,梁強(qiáng),許仁杰,等.基于Vega Prime的三維虛擬戰(zhàn)場(chǎng)大地形動(dòng)態(tài)生成研究[J].系統(tǒng)仿真學(xué)報(bào),2012,24(9):1900-1904.
[6]馬彥軍.基于虛擬現(xiàn)實(shí)技術(shù)的戰(zhàn)場(chǎng)仿真系統(tǒng)研究[D].長(zhǎng)沙:國防科技大學(xué),2006.
[7]Presagis Inc.Terra Vista 6.2 Tutorial:Getting Started[M].Presagis Inc,2011.
[8]Presagis Inc.Vega Prime GUI tutorial[M].Presagis Inc,2008.
[9]Presagis Inc.Vega Prime round earth marine terrain development tutorial[M].Presagis Inc,2008.
[10]Presagis Inc.Vega Prime programmer’s guide[M].Presagis Inc,2008.