基于Vega的虛擬戰(zhàn)場(chǎng)對(duì)抗仿真的應(yīng)用研究
本文引用地址:http://butianyuan.cn/article/185725.htm
3.4 戰(zhàn)場(chǎng)特殊效果
在虛擬戰(zhàn)場(chǎng)模擬仿真應(yīng)用中,經(jīng)常需要模擬出一些特殊的三維視覺(jué)效果來(lái)增強(qiáng)整個(gè)虛擬戰(zhàn)場(chǎng)環(huán)境的感染力和真實(shí)性,比如各種火炮武器的開火效果、各種炸彈的爆炸效果、直升機(jī)螺旋槳的旋轉(zhuǎn)效果、導(dǎo)彈發(fā)射后飛行時(shí)產(chǎn)生的尾氣痕跡等。通常這些效果很難用傳統(tǒng)的多邊形建模技術(shù)來(lái)實(shí)現(xiàn),一般的解決方案是應(yīng)用高級(jí)的紋理技術(shù)或者使用復(fù)雜的粒子系統(tǒng)[7]。粒子系統(tǒng)的基本思想是,采用大量的、具有一定生命和各種屬性的微小粒子圖元作為基本元素來(lái)描述不規(guī)則對(duì)象。粒子系統(tǒng)中的每一個(gè)粒子都具有形狀、大小、顏色、透明度、運(yùn)動(dòng)速度、運(yùn)動(dòng)方向、生命周期等相關(guān)的屬性。一般而言,創(chuàng)建特定的粒子系統(tǒng)是一個(gè)比較復(fù)雜的過(guò)程,一方面要考慮真實(shí)的物理模型和相應(yīng)的動(dòng)力學(xué)規(guī)律,另一方面需要對(duì)粒子的大量屬性分別進(jìn)行設(shè)置。Vega特殊效果模擬模塊[8]預(yù)制了包括爆炸、煙霧、導(dǎo)彈尾跡在內(nèi)的多種實(shí)時(shí)三維特殊效果,提供了擴(kuò)展的粒子系統(tǒng)參數(shù)設(shè)置面板,可自定義的粒子參數(shù)包括粒子生命周期、粒子個(gè)數(shù)、粒子源及其發(fā)射模式、粒子速度分布和各種速度矢量等。
戰(zhàn)場(chǎng)特效的管理和控制應(yīng)該符合虛擬戰(zhàn)斗態(tài)勢(shì)的發(fā)展,所以一般只在特效設(shè)置面板中進(jìn)行初始參數(shù)設(shè)置但并不啟用它們,而是在仿真應(yīng)用運(yùn)行的過(guò)程中根據(jù)實(shí)際情況,通過(guò)相應(yīng)的API函數(shù)進(jìn)行特效控制和參數(shù)調(diào)整。下面是預(yù)警機(jī)發(fā)動(dòng)機(jī)失效時(shí),應(yīng)用程序控制特殊效果的部分代碼:
vgProp(fx_trail, VGFX_DURATION, vgGetTime()-vgGetFxTime(fx_trail1,VGFX_STARTTIME) +1.0 ); // 設(shè)置預(yù)警機(jī)引擎尾氣特效的持續(xù)時(shí)間
vgProp( fx_airhit, VGFX_STATE, VG_ON ); // 啟用預(yù)警機(jī)引擎閃光特效
vgProp( fx_engburn, VGFX_STATE, VG_ON ); // 啟用預(yù)警機(jī)引擎燃燒特效
vgProp( fx_engsmoke, VGFX_STATE, VG_ON ); // 啟用預(yù)警機(jī)引擎冒煙特效
vgProp( fx_engburn, VGFX_DURATION, VGFX_ALWAYS ); // 設(shè)置燃燒特效持續(xù)時(shí)間
vgProp( fx_engsmoke, VGFX_DURATION, VGFX_ALWAYS ); // 設(shè)置冒煙特效持續(xù)時(shí)間
vgFxTime( fx_airhit, VGFX_STARTTIME, VGFX_NOW ); // 立即執(zhí)行閃光特效
vgFxTime( fx_engburn, VGFX_STARTTIME, VGFX_NOW ); // 立即執(zhí)行燃燒特效
vgFxTime( fx_engsmoke, VGFX_STARTTIME, VGFX_NOW ); // 立即執(zhí)行冒煙特效
4 仿真結(jié)果
本文實(shí)現(xiàn)的虛擬戰(zhàn)場(chǎng)對(duì)抗仿真應(yīng)用基于NT平臺(tái)開發(fā),使用Visual C++6編譯環(huán)境,在P4 2.4G處理器、512M內(nèi)存、GeForceFX 5700圖形卡的硬件配置條件下可以流暢的運(yùn)行,圖3-5為仿真應(yīng)用程序運(yùn)行過(guò)程中的屏幕截圖。
圖3 多觀察者模式下的仿真效果
在多觀察者模式下,用戶可以同時(shí)以多種視角來(lái)觀察虛擬戰(zhàn)場(chǎng),如圖3所示:位于屏幕左下角的通道以俯視觀察者的視角顯示,可以縱觀戰(zhàn)場(chǎng)全局態(tài)勢(shì),對(duì)戰(zhàn)雙方在虛擬戰(zhàn)場(chǎng)中所處的位置,也會(huì)在該通道中分別用紅色和藍(lán)色實(shí)時(shí)的標(biāo)識(shí)出來(lái)。屏幕的右側(cè)則是一系列輔助觀察者分別用于觀察特定的仿真實(shí)體,本文實(shí)現(xiàn)的系統(tǒng)可支持最多同時(shí)使用五個(gè)輔助觀察者,當(dāng)然也可以是它們的任意數(shù)量的組合。
圖4 偵察機(jī)引擎發(fā)生故障
5 結(jié)語(yǔ)
在未來(lái)戰(zhàn)爭(zhēng)的數(shù)字化戰(zhàn)場(chǎng),無(wú)論是軍事訓(xùn)練、戰(zhàn)術(shù)演練,還是作戰(zhàn)指揮或者戰(zhàn)術(shù)論證評(píng)估,都需要虛擬戰(zhàn)場(chǎng)可視化仿真來(lái)做支撐和保障。本文探討了基于Vege的虛擬戰(zhàn)場(chǎng)可視化仿真應(yīng)用的方法,重點(diǎn)討論了自然環(huán)境模擬、動(dòng)態(tài)視點(diǎn)控制、實(shí)時(shí)路徑導(dǎo)航和基于粒子系統(tǒng)的特殊效果等虛擬戰(zhàn)場(chǎng)環(huán)境生成中的關(guān)鍵問(wèn)題。
評(píng)論