安 璐,王建中,施家棟
(北京理工大學(xué) 機(jī)電學(xué)院,北京 100081)
?
基于Creator/Vega Prime的區(qū)域封鎖作戰(zhàn)系統(tǒng)
安 璐,王建中,施家棟
(北京理工大學(xué) 機(jī)電學(xué)院,北京 100081)
基于Multigen Creator/Vega Prime軟件開發(fā)了子彈藥封鎖區(qū)域協(xié)同作戰(zhàn)仿真系統(tǒng);針對(duì)在作戰(zhàn)區(qū)域?qū)嵭蟹怄i并打擊封鎖區(qū)域的敵方裝備和有生力量進(jìn)行了研究,實(shí)現(xiàn)延誤敵方戰(zhàn)機(jī),減緩其兵力集結(jié)和部署,掌握戰(zhàn)時(shí)主動(dòng)的目的;主要通過圍繞實(shí)體建模、模型驅(qū)動(dòng)、碰撞檢測(cè)、粒子特效等關(guān)鍵技術(shù);綜上所述,為實(shí)現(xiàn)對(duì)敵方飛機(jī)進(jìn)行封鎖區(qū)域協(xié)同打擊的可視化仿真,重點(diǎn)研究了Creator和基于VC++的Vega Prime的視景仿真控制的過程和方法;研究結(jié)果表明,對(duì)子彈藥區(qū)域封鎖作戰(zhàn)的實(shí)時(shí)仿真具有一定的參考價(jià)值。
區(qū)域封鎖;實(shí)體建模;模型驅(qū)動(dòng);碰撞檢測(cè)
在未來(lái)戰(zhàn)爭(zhēng)中,對(duì)作戰(zhàn)區(qū)域?qū)嵭蟹怄i,并按預(yù)定功能打擊進(jìn)入封鎖區(qū)域的敵飛機(jī)、坦克、裝甲車、艦船等裝備和有生力量,能達(dá)到延誤敵方的戰(zhàn)機(jī),減緩其兵力集結(jié)和部署,使其喪失參戰(zhàn)能力,從而為己方贏得時(shí)間,掌握戰(zhàn)時(shí)主動(dòng)的目的[1]。但由于該系統(tǒng)作戰(zhàn)環(huán)境復(fù)雜、實(shí)戰(zhàn)損耗較大,因此極大地影響了封鎖區(qū)域的作戰(zhàn)效果。虛擬現(xiàn)實(shí)視景仿真技術(shù)以其良好的沉浸感、逼真度和人機(jī)交互特性已成功應(yīng)用于軍事、航空航天、娛樂和醫(yī)療等很多領(lǐng)域[2]。鑒于此,采用虛擬現(xiàn)實(shí)和視景仿真技術(shù),開發(fā)了子彈藥封鎖區(qū)域協(xié)同作戰(zhàn)仿真系統(tǒng)。通過作戰(zhàn)仿真系統(tǒng)能夠方便地研究子彈藥的各種功能狀態(tài),生動(dòng)再現(xiàn)區(qū)域封鎖作戰(zhàn)的場(chǎng)景和流程。
仿真系統(tǒng)采用Multigen Creator建模工具對(duì)三維視景模型進(jìn)行幾何建模和行為建模,三維視景模型包括戰(zhàn)場(chǎng)環(huán)境、武器裝備、氣候和特殊效果等。再通過Vega Prime的Lynx Prime圖形界面設(shè)置,switch節(jié)點(diǎn)驅(qū)動(dòng)以及自身提供的API函數(shù)對(duì)場(chǎng)景實(shí)時(shí)渲染和驅(qū)動(dòng),解決仿真實(shí)時(shí)效果差、沉浸感不強(qiáng)、系統(tǒng)交互性與運(yùn)行速度差的問題,碰撞檢測(cè)和粒子特效則可以逼真地演示子彈藥成功打擊敵方目標(biāo)的過程。
子彈藥區(qū)域封鎖協(xié)同作戰(zhàn)是通過母彈在作戰(zhàn)區(qū)域上方拋撒,多個(gè)落地激活后的子彈藥通過組網(wǎng)通信構(gòu)成整體作戰(zhàn)群;各個(gè)子彈藥落地激活后自動(dòng)預(yù)警和探測(cè);當(dāng)探測(cè)到目標(biāo)信號(hào)時(shí),依據(jù)目標(biāo)識(shí)別算法對(duì)目標(biāo)進(jìn)行分類和識(shí)別;當(dāng)確定為有效目標(biāo)時(shí),通過各子彈共享探測(cè)到的目標(biāo)數(shù)據(jù),確認(rèn)彈藥和目標(biāo)方位;根據(jù)任務(wù)分配對(duì)群體子彈藥協(xié)同控制,選擇一個(gè)最適合攻擊的子彈藥;選定的攻擊彈藥自主跟蹤,適時(shí)起爆戰(zhàn)斗部毀傷目標(biāo)。如圖1所示。
圖1 子彈藥區(qū)域封鎖協(xié)同作戰(zhàn)流程圖
2.1 視景仿真系統(tǒng)開發(fā)環(huán)境
本系統(tǒng)采用Multigen Creator建模工具對(duì)模型進(jìn)行幾何建模和行為建模。MultiGen Cre-ator是由MultiGen-Paradigm公司開發(fā)的一個(gè)用于視景仿真建模的軟件,在視景仿真領(lǐng)域內(nèi)被廣泛應(yīng)用。Creator采用OpenFlight數(shù)據(jù)格式,該格式已成為事實(shí)上的虛擬現(xiàn)實(shí)及仿真界的三維模型數(shù)據(jù)格式的工業(yè)標(biāo)準(zhǔn)[3],可以被Vega、Virtual、Quest3D等大部分視景仿真軟件接受。
Creator與一般的三維建模軟件(例如3DMax和Maya等)的最大區(qū)別在于:Creator構(gòu)建的模型是用于實(shí)時(shí)渲染仿真的。即Creator建立的模型需要在人機(jī)交互的情況下實(shí)時(shí)地顯示渲染效果。這與3DMax和Maya這類先建模、再渲染、最后播放的工作流程有很大不同。
Vega Prime是MultiGen-Paradigm公司推出的最新實(shí)時(shí)視景仿真軟件,視景仿真軟件的作用是讀取視景模型,接受用戶輸入,并按照用戶要求進(jìn)行模型驅(qū)動(dòng)和實(shí)時(shí)渲染。Creator的許多功能必須通過Vega Prime這樣的視景仿真軟件才能體現(xiàn)出來(lái)。比較當(dāng)前使用較多的視景仿真軟件Vega Prime、Vega,如表1所示。
表1 Vega、Vega Prime性能比較
Vega Prime作為Vega的改進(jìn)版本,在開發(fā)平臺(tái)、編程語(yǔ)言、程序設(shè)計(jì)等方面都擁有了Vega無(wú)法比擬的優(yōu)勢(shì)[4],具有面向?qū)ο?、功能?qiáng)大、界面友好、平臺(tái)兼容性好等特點(diǎn)。Vega Prime采用了先進(jìn)的生成仿真場(chǎng)景加速技術(shù),如細(xì)節(jié)層次技術(shù)、可見性判定技術(shù)等,這為視景仿真系統(tǒng)底層開發(fā)節(jié)省了時(shí)間。
在作戰(zhàn)仿真系統(tǒng)設(shè)計(jì)中通過Vega Prime可以讓設(shè)計(jì)者對(duì)導(dǎo)彈、飛機(jī)、子彈藥參數(shù)進(jìn)行快速配置,通過底層場(chǎng)景圖形API函數(shù)可以完成導(dǎo)彈和飛機(jī)的運(yùn)動(dòng)路徑規(guī)劃等等,在提高研發(fā)效率的同時(shí)又不影響系統(tǒng)的仿真性[5]。
2.2 視景仿真系統(tǒng)開發(fā)模式
根據(jù)子彈藥區(qū)域封鎖協(xié)同作戰(zhàn)仿真系統(tǒng)的要求,確定仿真系統(tǒng)的開發(fā)流程如圖2所示。首先,利用Multigen Creator進(jìn)行三維建模。根據(jù)模型要求,建模主要包括兩個(gè)部分即靜態(tài)三維模型庫(kù)和CTS(Creator Terrain Studio)生成的大場(chǎng)景地形;將模型保存為.flt格式文件,導(dǎo)入到Lynx Prime圖形界面進(jìn)行基本設(shè)置。圖形界面設(shè)置主要包括基本作戰(zhàn)環(huán)境設(shè)置、模型初始位置設(shè)置、常用的特效設(shè)置和大場(chǎng)景應(yīng)用設(shè)置等內(nèi)容,并保存為.acf文件;最后通過編寫視景驅(qū)動(dòng)程序?qū)φ麄€(gè)場(chǎng)景進(jìn)行驅(qū)動(dòng)。仿真驅(qū)動(dòng)是視景仿真的關(guān)鍵階段,通過調(diào)用在Lynx Prime中配置好的.acf 文件, 再接收后臺(tái)數(shù)據(jù)庫(kù)發(fā)送的實(shí)時(shí)仿真數(shù)據(jù), 利用此數(shù)據(jù)驅(qū)動(dòng)場(chǎng)景中模型的運(yùn)動(dòng), 并對(duì)場(chǎng)景中特效進(jìn)行處理和控制, 實(shí)現(xiàn)實(shí)時(shí)驅(qū)動(dòng)算法、碰撞檢測(cè)與響應(yīng)、場(chǎng)景調(diào)度與管理和視點(diǎn)控制等內(nèi)容。從而完成整個(gè)仿真過程,為用戶提供實(shí)時(shí)流暢的視景仿真結(jié)果。
圖2 仿真系統(tǒng)開發(fā)流程圖
3.1 實(shí)體建模
3.1.1 建立三維模型
基于子彈藥區(qū)域封鎖協(xié)同作戰(zhàn)的作戰(zhàn)流程,建模工作主要包括2大部分:一是實(shí)體的幾何建模,包括導(dǎo)彈(母彈)、帶有通信、探測(cè)和攻擊功能的子彈藥、降落傘、飛機(jī)(敵機(jī))。二是作戰(zhàn)地形建模,根據(jù)作戰(zhàn)背景的實(shí)際要求建立模型。
在實(shí)體建模時(shí),主要根據(jù)模型外觀的幾何參數(shù),在Creator中先建立基本的輪廓,然后將重點(diǎn)部位用Creator的命令將它獨(dú)立出來(lái)進(jìn)行重點(diǎn)處理,在保證模型逼真度的前提下,系統(tǒng)采用紋理映射技術(shù)[6]降低實(shí)體建模的復(fù)雜度,減少了模型面的數(shù)量,達(dá)到了簡(jiǎn)化模型構(gòu)建過程的效果。系統(tǒng)以實(shí)體模型的尺寸和結(jié)構(gòu)為依據(jù),根據(jù)物體幾何結(jié)構(gòu)及運(yùn)動(dòng)特點(diǎn)建立模型。基于以上技術(shù)對(duì)子彈藥與飛機(jī)模型建模如圖3和圖4所示。
圖3 子彈藥Creator模型圖 圖4 飛機(jī)Creator模型圖
3.1.2 建立switch節(jié)點(diǎn)模型
當(dāng)子彈藥從上空被拋撒落至一定高度時(shí)適時(shí)開啟降落傘,用以減緩下降速度,落地后降落傘收回。這一動(dòng)態(tài)過程可以通過放大縮小、DOF節(jié)點(diǎn)控制、switch節(jié)點(diǎn)控制等多種方法。本系統(tǒng)采用switch節(jié)點(diǎn)控制,因?yàn)槠湓O(shè)置簡(jiǎn)單,代碼簡(jiǎn)短,而且可以方便控制其子節(jié)點(diǎn)顯示狀態(tài)。switch節(jié)點(diǎn)包含一系列的節(jié)點(diǎn)掩碼,每個(gè)掩碼都可以對(duì)應(yīng)一種子節(jié)點(diǎn)的顯示狀態(tài)組合[7]。如圖5所示,在降落傘的模型結(jié)構(gòu)層中添加一個(gè)switch節(jié)點(diǎn)sw1,通過sw1來(lái)控制g2、g3、g4的隱藏和顯示狀態(tài)。Mask Count為4表示節(jié)點(diǎn)掩碼從0到3,即4種節(jié)點(diǎn)狀態(tài):全部隱藏、僅顯示子彈藥、顯示子彈藥和降落傘、僅顯示子彈藥,Index表示當(dāng)前掩碼,Index為0表示此時(shí)狀態(tài)為全部隱藏。
圖5 降落傘結(jié)構(gòu)圖
3.2 Vega Prime的界面設(shè)置
Vega Prime的界面設(shè)置主要包括模型的加載、模型的位置、姿態(tài)初始化設(shè)置,環(huán)境設(shè)置以及基本的特效(火焰、濃煙、聲音等)。帶有switch節(jié)點(diǎn)的降落傘模型除了基本設(shè)置外,還需在Geometry Configuration界面下勾選Preserve Generic Names和Preserve Generic Nodes兩項(xiàng),如圖6所示。
圖6 Geometry Configuration圖
3.3 Vega Prime的模型驅(qū)動(dòng)
子導(dǎo)彈區(qū)域封鎖協(xié)同作戰(zhàn)仿真系統(tǒng)的驅(qū)動(dòng)程序主要包括2個(gè)部分:第一個(gè)部分是進(jìn)行系統(tǒng)配置,包括內(nèi)存分配、參數(shù)設(shè)置、Vega Prime類的定義。第二個(gè)部分是導(dǎo)彈和飛機(jī)的運(yùn)動(dòng)路徑規(guī)劃、降落傘的打開與收回、飛機(jī)被攻擊后的爆炸特效等驅(qū)動(dòng)仿真過程。下面主要列出驅(qū)動(dòng)程序主函數(shù)和驅(qū)動(dòng)降落傘開啟收回的部分控制程序:
驅(qū)動(dòng)程序主函數(shù):
void main(int argc,char * argv[1])
{
vp::initialize( argc,argv); //初始化vp
vp App * app = new vp App;
if ( argv[1] )
app->define(argv[1]);
else
app->define( "D:san.acf" ); //載入D盤上 的ACF文件
if ( app->configure()== vsgu::SUCCESS)
// 配置
app->run(); //仿真循環(huán)
app->unref();
vp::shutdown; //退出vp
}
驅(qū)動(dòng)降落傘開啟收回的部分控制程序:
…
int configure()
{
vpApp::configure(); //配置vp
myObject = vpObject::find("san");//尋找和驗(yàn)證一個(gè)指向傘對(duì)象的指針
if (myObject == NULL)
{
vuNotify::print(vuNotify::LEVEL_WARN, NULL,"san not found");
return vsgu::FAILURE; //返回失敗
}
tempNode = myObject->find_named("sw1"); //尋找一個(gè)指向傘的switch 指針并驗(yàn)證指針
if (tempNode == NULL)
{
vuNotify::print(vuNotify::LEVEL_WARN, NULL, "sw1 not found");
return vsgu::FAILURE;
}
if( tempNode->isExactClassType(vsSwitch::getStaticClassType( )) ) //驗(yàn)證節(jié)點(diǎn)類型
mySwitch = static_cast
else
{
vuNotify::print(vuNotify::LEVEL_WARN, NULL, "node is not a vsSwitch");
return vsgu::FAILURE; //返回失敗
}
return vsgu::SUCCESS;
}
…
3.4 碰撞檢測(cè)和粒子特效
當(dāng)同一空間內(nèi)的兩物體相對(duì)運(yùn)動(dòng)時(shí)可能會(huì)發(fā)生“交互”,控制兩物體發(fā)生交互作用稱為碰撞檢測(cè)(Isector)。如果不添加碰撞檢測(cè)那么兩物體相會(huì)時(shí)就會(huì)產(chǎn)生“穿越”現(xiàn)象,如車子穿越房屋,飛機(jī)穿越山峰等。碰撞檢測(cè)有七種類型,本仿真系統(tǒng)采用vpIsectorLOS碰撞檢測(cè)法,該方法是單根視線線段,沿Y軸輻射,可快速檢測(cè)子彈藥與飛機(jī)的距離,從而控制攻擊時(shí)間。當(dāng)飛機(jī)進(jìn)入子彈藥的攻擊范圍內(nèi),子彈藥開始攻擊。
粒子特效用以模擬導(dǎo)彈飛行時(shí)的尾焰、爆炸飛屑、燃燒、煙霧等效果。包括vpFxMissileTrail(飛行尾跡效果),vpFxFlame(爆炸燃燒火焰)、vpFxSmoke(燃燒煙霧)、vpFxDebris(地面爆炸特效)、vpFxSplash(水中爆炸特效)[8]七種類型。本仿真系統(tǒng)的粒子特效采用vpFxDebris來(lái)模擬飛機(jī)被攻擊后碎片飛揚(yáng)的效果。
基于Multigen Creator和Vega Prime視景仿真軟件,根據(jù)作戰(zhàn)流程建立三維模型和帶有switch節(jié)點(diǎn)的降落傘模型,編寫API函數(shù)對(duì)整個(gè)系統(tǒng)和模型進(jìn)行驅(qū)動(dòng),通過檢測(cè)彈藥與目標(biāo)距離來(lái)控制攻擊時(shí)間,利用粒子特效來(lái)模擬爆炸效果。實(shí)際運(yùn)行結(jié)果表明:該作戰(zhàn)仿真系統(tǒng)實(shí)現(xiàn)了子彈藥從拋撒到成功打擊目標(biāo)的全過程,具有良好的交互性和真實(shí)感,對(duì)于開發(fā)Vega Prime復(fù)雜作戰(zhàn)視景仿真系統(tǒng)有一定參考意義。
[1] 殷希梅,王占操,張運(yùn)兵,等.地面區(qū)域封鎖彈藥綜述[J].兵工自動(dòng)化,2014,33(7):79-82.
[2] 薛雪東, 徐 兵,洪 光,等. 基于Creator/Vega Prime的某導(dǎo)彈發(fā)射設(shè)備模擬訓(xùn)練系統(tǒng)[J].彈箭與制導(dǎo)學(xué)報(bào),2008,28(6):307-310.
[3] 李京偉, 張利萍. 基于虛擬現(xiàn)實(shí)技術(shù)的飛行視景仿真[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(7):1936-1937.
[4] 孫崇波, 唐永剛, 寧建國(guó).基于Creator/Vega Prime的虛擬航母漫游設(shè)計(jì)[J].計(jì)算機(jī)仿真,2007,24(1):222-224.
[5] 孔中武, 石林鎖,王 濤.基于Creator和Vega Prime的導(dǎo)彈飛行視景仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].四川兵工學(xué)報(bào),2014(10):111-113.
[6] 盧衛(wèi)平.基于Vega Prime/Multigen Creator的飛行復(fù)現(xiàn)視景仿真系統(tǒng)設(shè)計(jì)[D].南京:南京航空航天大學(xué),2011.
[7] 王 乘, 周均清, 李利軍.Creator可視化仿真建模技術(shù)[D].武漢:華中科技大學(xué)出版社,2005.
[8] 李亞臣, 羅永峰, 黎遠(yuǎn)忠,等.基于Vega Prime的彈箭視景仿真[J].導(dǎo)彈與制導(dǎo)學(xué)報(bào),2007,27(4):222-225.
Area Blocking Combat System Based on Creator/Vega Prime
An Lu,Wang Jianzhong,Shi Jiadong
(College of Mechatronics, Beijing Institute of Technology,Beijing 100008,China)
Based on the Multigen Creator/Vega Prime software, a simulation system for the coordinated combat of the ammunition blocking area was developed. In the operational area implementation of blockade and combat blockade region of enemy equipment and effectives to delay enemy aircraft, slowed the build-up of troops and deployment, and grasp the initiative in wartime. Mainly by focusing on the key technologies of entity modeling, model driven, collision detection, particle effects and other technologies. In conclusion,in order to realize the visual simulation of the coordinated attack against the enemy aircraft, research is mainly focused on the Creator and Vega Prime based on VC++ visual simulation of the control process and methods. Research results show that the combat simulation system for ammunition regional blockade of real-time simulation has a certain reference value.
regional blockade; entity modeling; model driven; collision detection
2016-04-19;
2016-05-10。
安 璐(1993-),女,天津人,碩士研究生,主要從事子彈藥封鎖作戰(zhàn)視景仿真技術(shù)方向的研究。
王建中(1963-),男,湖北人,教授,博士研究生導(dǎo)師,主要從事移動(dòng)子彈藥封鎖作戰(zhàn)平臺(tái)方向的研究。
1671-4598(2016)09-0155-03
10.16526/j.cnki.11-4762/tp.2016.09.043
TP391.9
A