《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于MultiGenCreator和Vega的虛擬訓(xùn)練場(chǎng)設(shè)計(jì)研究
基于MultiGenCreator和Vega的虛擬訓(xùn)練場(chǎng)設(shè)計(jì)研究
摘要: MuhiGenCreat0r在滿足實(shí)時(shí)性的前提下.能夠生成面向仿真的,、逼真性好的大面積場(chǎng)景。它可為25種之多的不同類型的圖像發(fā)生器提供建模系統(tǒng)工具.其OpenFlight格式在實(shí)時(shí)三維領(lǐng)域中成為最流行的圖像格式.并成為仿真領(lǐng)域的行業(yè)標(biāo)準(zhǔn)。
Abstract:
Key words :

1  MultiGen Creator和 Vega軟件介紹

1.1 Creator建模軟件

MultiGen Creator是 由 MultiGen—Paradigm公司開發(fā)的一種用于對(duì)可視化系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行創(chuàng)建和編輯的交互工具。MuhiGen Creator是世界上領(lǐng)先的實(shí)時(shí)三維數(shù)據(jù)庫(kù)生成系統(tǒng).具有完整的交互式實(shí)時(shí)三維建模系統(tǒng)。廣泛的選項(xiàng)增強(qiáng)了其特性和功能,。用于產(chǎn)生高優(yōu)化 、高精度的實(shí)時(shí) 3D內(nèi)容,可以用來(lái)對(duì)戰(zhàn)場(chǎng)仿真,、城市仿真和計(jì)算可視化等復(fù)雜場(chǎng)景的視景數(shù)據(jù)庫(kù)進(jìn)行產(chǎn)生、編輯和查看,。這種先進(jìn)的技術(shù),,由包括自動(dòng)化的大型地形和三維人文景觀產(chǎn)生器、道路產(chǎn)生器等強(qiáng)有力的集成選項(xiàng)來(lái)支撐,。

MuhiGen Creat0r在滿足實(shí)時(shí)性的前提下.能夠生成面向仿真的,、逼真性好的大面積場(chǎng)景。它可為 25種之多的不同類型的圖像發(fā)生器提供建模系統(tǒng)工具 .其 OpenFlight格式在實(shí)時(shí)三維領(lǐng)域中成為最流行的圖像格式.并成為仿真領(lǐng)域的行業(yè)標(biāo)準(zhǔn),。

1.2 Vega實(shí)時(shí)仿真

Vega是 MultiGen—Paradigm公司應(yīng)用于實(shí)時(shí)視景仿真,、聲音仿真和虛擬現(xiàn)實(shí)等領(lǐng)域的軟件環(huán)境。它把先進(jìn)的仿真功能和易用的工具結(jié)合在一起,,創(chuàng)建 了一種使用最簡(jiǎn)單 ,,但最具創(chuàng)造力的體系結(jié)構(gòu).來(lái)創(chuàng)建、編輯和運(yùn)行高性能的實(shí)時(shí)應(yīng)用,。Vega使用 Lynx界面定義和預(yù)覽應(yīng)用程序,。在 Vega中包含了創(chuàng)建一個(gè)應(yīng)用程序所必須的全部 API.但是簡(jiǎn)單的應(yīng)用程序僅靠 Lynx 就可以實(shí)現(xiàn)  Lynx是一種基于 X/Motif技術(shù)的點(diǎn)擊式圖形環(huán)境 .用戶只需通過鼠標(biāo)即可驅(qū)動(dòng)圖形中的對(duì)象以及動(dòng)畫中的實(shí)時(shí)控制.并允許用戶在不同時(shí)編寫源代碼 的情況下即可配置一個(gè)應(yīng)用程序,。 Vega還包括完整的 C語(yǔ)言應(yīng)用程序接13.為軟件開發(fā)人員提供 了最大限度的軟件控制和靈活性。

2 構(gòu)建虛擬訓(xùn)練場(chǎng)

以某綜合訓(xùn)練場(chǎng)場(chǎng)景三維重建為例 .進(jìn)一步討論了虛擬現(xiàn)實(shí)技術(shù),。系統(tǒng)開發(fā)流程如圖 1所示,。

2.1 建模數(shù)據(jù)的獲取及處理

虛擬綜合訓(xùn)練場(chǎng)場(chǎng)景 .需要獲取的建模數(shù)據(jù)主要是指訓(xùn)練場(chǎng)內(nèi)各種器材設(shè)施的參數(shù)信息 、周邊建筑物的信息,、整個(gè)訓(xùn)練場(chǎng)的分布信息以及環(huán)境景觀的紋理信息,。

對(duì)獲取的信息進(jìn)行處理 .主要是對(duì)照片紋理信息的處理 。先通過數(shù)碼相機(jī)拍照.再利用 Photoshop或者 Creator自帶的紋理處理工具進(jìn)行截取,、糾正 ,、縮放等處理。盡管 Creator對(duì)紋理的格式 ,、大小沒有太多的限制,,但 Vega對(duì)紋理數(shù)據(jù)的要求相對(duì)比較嚴(yán)格.不能滿足要求的紋理不能正確顯示 ,所 以必須對(duì)Creator用到的紋理進(jìn)行編輯由于綜合訓(xùn)練場(chǎng)的地形較為平坦.可以采用 Delaunay算法將 DED格式的地形數(shù)據(jù)進(jìn)行轉(zhuǎn)化,。

系統(tǒng)開發(fā)流程

2.2 三維建模

根據(jù)所獲取的建模數(shù)據(jù) .可利用 Creator建立起三維場(chǎng)景模型,,包括訓(xùn)練場(chǎng)的各種器材設(shè)施、附近的建筑物,、花草樹木 ,、道路等。訓(xùn)練場(chǎng)場(chǎng)景模型層次結(jié)構(gòu)如圖2所示,。綜合訓(xùn)練場(chǎng)的場(chǎng)景模型主要分為靜態(tài)實(shí)體和動(dòng)態(tài)實(shí)體,。

訓(xùn)練場(chǎng)場(chǎng)景模型層次結(jié)構(gòu)

(1)靜態(tài)實(shí)體建模。靜態(tài)實(shí)體主要有固定的訓(xùn)練器材設(shè)施,、道路,、樹木、建筑物等,。由于訓(xùn)練場(chǎng)內(nèi)的訓(xùn)練設(shè)施數(shù)量比較多.所要建模的數(shù)據(jù)量比較大.不可能把所有模型都放在整個(gè)訓(xùn)練場(chǎng)場(chǎng)景中進(jìn)行建模.因此可以單獨(dú)地制作每一個(gè)訓(xùn)練器材,。最后將所有模型集成為整個(gè)訓(xùn)練場(chǎng)場(chǎng)景。

對(duì)于單一的固定訓(xùn)練器材 .可以將訓(xùn)練器材進(jìn)行結(jié)構(gòu)分解 ,,運(yùn)用 Creator的多種幾何工具進(jìn)行構(gòu)建,,再進(jìn)行組合,。形成完整的單一實(shí)體,。

由于訓(xùn)練場(chǎng)周邊的建筑物相對(duì)較少 .形狀都較為規(guī)則 .因此可以簡(jiǎn)單地進(jìn)行幾何建模并貼上紋理。Creator中的布告板 .可以使模型在仿真過程中始終保持面對(duì)視點(diǎn).通常用于創(chuàng)建場(chǎng)景中類似路燈或者樹木等具有對(duì)稱性的實(shí)體,。方法是將表示物體的透明紋理貼到模型表面.然后在運(yùn)行時(shí),,模型會(huì)自動(dòng)旋轉(zhuǎn),始終面向視點(diǎn),。我們可以運(yùn)用這種方法來(lái)實(shí)現(xiàn)訓(xùn)練場(chǎng)中樹木,、路燈等模型的建模 ,,從而減少模型中多邊形的數(shù)量.提高仿真效率。

根據(jù)實(shí)時(shí)漫游特性的需要.我們可以選擇圓柱面和半球面模型對(duì)天空進(jìn)行建模,,并用紋理映射的方法體現(xiàn)天空背景,。

(2)動(dòng)態(tài)實(shí)體建模。訓(xùn)練場(chǎng)中的紅旗屬于動(dòng)態(tài)實(shí)體,,利用Creator對(duì)其進(jìn)行建模主要是通過切換紋理來(lái)實(shí)現(xiàn)的,。以在風(fēng)中飄揚(yáng)的紅旗為例.首先利用 Photoshop對(duì)紅旗的紋理進(jìn)行處理 .確定幾張要循環(huán)顯示的圖片。在根節(jié)點(diǎn)下建立幾個(gè)子節(jié)點(diǎn).每個(gè)子節(jié)點(diǎn)建立一個(gè)面,,將處理好的紅旗紋理貼上每個(gè)面.設(shè)置每張圖片輪流顯示的時(shí)間,,最后隱藏除第一個(gè)子節(jié)點(diǎn)以外的其它節(jié)點(diǎn)。這樣,。一個(gè)迎風(fēng)飄揚(yáng)的紅旗就完成了,。

2.3 優(yōu)化模型數(shù)據(jù)庫(kù)

使用 Creator建模的最終 目的是為了在仿真程序中使用。在不影響場(chǎng)景真實(shí)感的前提下.為了保持程序運(yùn)行的平滑性,,提高系統(tǒng)運(yùn)行的實(shí)時(shí)性.在制作模型的后期要盡可能的對(duì)模型進(jìn)行優(yōu)化處理,。在構(gòu)建虛擬訓(xùn)練場(chǎng)景的過程中。主要采用以下優(yōu)化方法:

 

(1)刪除不必要的多邊形,。我們可以通過刪除在視錐體中看不到的多邊形來(lái)減少多邊形的數(shù)量.這些多邊形包括模型內(nèi)部的多邊形,、其它多邊形后面隱藏的細(xì)節(jié)多邊形、模型底面的多邊形等

(2)使用多層次細(xì)節(jié)模型,。在不影響模型逼真性的情況下合理設(shè)置 LOD的層數(shù) ,、每個(gè)層次間的切換距離、紋理的大小精細(xì)程度等,,雖然會(huì)增加一些工作量,,但卻節(jié)省了系統(tǒng)資源,提高了系統(tǒng)運(yùn)行速度,。

(3)采用實(shí)例化的方法對(duì)模型進(jìn)行處理,。通常應(yīng)用于表示三維場(chǎng)景數(shù)據(jù)庫(kù)中多次重復(fù)出現(xiàn)的對(duì)象實(shí)體.例如道路兩旁的樹木。實(shí)例化模型的優(yōu)點(diǎn)主要體現(xiàn)在能夠顯著節(jié)省磁盤空間便于創(chuàng)建,、編輯和修改模型,。

3 場(chǎng)景漫游

所有的訓(xùn)練場(chǎng)場(chǎng)景模型建立完成后.需要進(jìn)一步對(duì)模型進(jìn)行驅(qū)動(dòng) .實(shí)現(xiàn)場(chǎng)景的實(shí)時(shí)漫游功能。首先,,要設(shè)置 LvnX參數(shù) ,。對(duì)觀察者、運(yùn)動(dòng)方式,、環(huán)境特效等功能模塊進(jìn)行初步的設(shè)置,。具體方法是:在 Scenes中設(shè)置為一個(gè)觀察者所能看到的所有對(duì)象模型:在 Observers中設(shè)置觀察者;在 Motion Model中為觀察者設(shè) 置運(yùn)動(dòng)方式 ,;在 Environments和 Environment Effects中設(shè)置天空和云的效果 ,。然后在系統(tǒng)中設(shè)置兩種碰撞檢測(cè):一是與地面的碰撞檢測(cè).使觀察者始終隨著地形的變化而改變視點(diǎn)的高度:二是與訓(xùn)練設(shè)施和建筑物的碰撞檢測(cè),,避免觀察者穿墻而過的情況。

在 Vega中可以采用鍵盤控制漫游和固定路徑自動(dòng)漫游本文主要是采用鍵盤控制漫游,。具體來(lái)說(shuō).是在Vega中的Motion Models面板選擇Drive運(yùn)動(dòng)模式,。最后需要生成可執(zhí)行文件,可在 VC中激活其函數(shù)庫(kù),。

4 結(jié)束語(yǔ)

本文利用虛擬現(xiàn)實(shí)技術(shù)進(jìn)行了虛擬綜合訓(xùn)練場(chǎng)場(chǎng)景的三維重建 ,,運(yùn)用 Creator建立起 了各種逼真的訓(xùn)練設(shè)施 、環(huán)境,、地貌等模型.同時(shí)對(duì)模型進(jìn)行了優(yōu)化,。然后利用 Vega工具開發(fā)了漫游功能.基本上完成了虛擬訓(xùn)練場(chǎng)的重建.并能與之進(jìn)行自然、三維可視的交互,,具有真正的沉浸感,。虛擬綜合訓(xùn)練場(chǎng)的實(shí)現(xiàn)。為建立其它形式的訓(xùn)練場(chǎng)景提供了一種可行性的方法 ,。具有一定的應(yīng)用價(jià)值

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。