1 MultiGen Creator和 Vega軟件介紹
1.1 Creator建模軟件
MultiGen Creator是 由 MultiGen—Paradigm公 司開發(fā)的一種用于對可視化系統(tǒng)數(shù)據(jù)庫進行創(chuàng)建和編輯的交互工具。MuhiGen Creator是世界上領(lǐng)先 的實時三維數(shù)據(jù)庫生成系統(tǒng).具有完整的交互式實時三維建模系統(tǒng)。廣泛的選項增強了其特性和功能。用于產(chǎn)生高優(yōu)化 、高精度的實時 3D內(nèi)容,可以用來對戰(zhàn)場仿真、城市仿真和計算可視化等復(fù)雜場景的視景數(shù)據(jù)庫進行產(chǎn)生、編輯和查看。這種先進的技術(shù),由包括自動化的大型地形和三維人文景觀產(chǎn)生器 、道路產(chǎn)生器等強有力的集成選項來支撐。
MuhiGen Creat0r在滿足實時性的前提下.能夠生成面向仿真的、逼真性好的大面積場景。它可為 25種之多的不同類型的圖像發(fā)生器提供建模系統(tǒng)工具 .其 OpenFlight格式在實時三維領(lǐng)域中成為最流行的圖像格式 .并成為仿真領(lǐng)域的行業(yè)標準。
1.2 Vega實時仿真
Vega是 MultiGen—Paradigm公司應(yīng)用于實時視景仿真 、聲音仿真和虛擬現(xiàn)實等領(lǐng)域的軟件環(huán)境 。它把先進的仿真功能和易用的工具結(jié)合在一起,創(chuàng)建 了一種使用最簡單 ,但最具創(chuàng)造力的體系結(jié)構(gòu).來創(chuàng)建 、編輯和運行高性能的實時應(yīng)用。Vega使用 Lynx界面定義和預(yù)覽應(yīng)用程序。在 Vega中包含了創(chuàng)建一個應(yīng)用程序所必須的全部 API.但是簡單的應(yīng)用程序僅靠 Lynx 就可以實現(xiàn) Lynx是一種基于 X/Motif技術(shù)的點擊式圖形環(huán)境 .用戶只需通過 鼠標即可驅(qū)動圖形中的對象以及動畫中的實時控制.并允許用戶在不 同時編寫源代碼 的情況下即可配置一個應(yīng)用程序。 Vega還包括完整的 C語言應(yīng)用程序接13.為軟件開發(fā)人員提供 了最大限度的軟件控制和靈活性。
2 構(gòu)建虛擬訓練場
以某綜合訓練場場景三維重建為例 .進一步討論了虛擬現(xiàn)實技術(shù)。系統(tǒng)開發(fā)流程如圖 1所示。
2.1 建模數(shù)據(jù)的獲取及處理
虛擬綜合訓練場場景 .需要獲取的建模數(shù)據(jù)主要是指訓練場內(nèi)各種器材設(shè)施的參數(shù)信息 、周邊建筑物的信息、整個訓練場的分布信息以及環(huán)境景觀的紋理信息。
對獲取的信息進行處理 .主要是對照片紋理信息的處理 。先通過數(shù)碼相機拍照.再利用 Photoshop或者 Creator自帶的紋理處理工具進行截取、糾正 、縮放等處理。盡管 Creator對紋理的格式 、大小沒有太多的限制,但 Vega對紋理數(shù)據(jù)的要求相對比較嚴格 .不能滿足要求的紋理不能正確顯示 ,所 以必須對Creator用到的紋理進行編輯由于綜合訓練場 的地形較為平坦.可 以采用 Delaunay算法將 DED格式的地形數(shù)據(jù)進行轉(zhuǎn)化。[
基于MultiGen Creator和Vega的虛擬訓練場設(shè)計研究
2.2 三維建模
根據(jù)所獲取的建模數(shù)據(jù) .可利用 Creator建立起三維場景模型,包括訓練場的各種器材設(shè)施 、附近的建筑物、花草樹木 、道路等。訓練場場景模型層次結(jié)構(gòu)如圖2所示。綜合訓練場的場景模型主要分為靜態(tài)實體和動態(tài)實體 。
(1)靜態(tài)實體建模。靜態(tài)實體主要有固定的訓練器材設(shè)施、道路、樹木、建筑物等。由于訓練場內(nèi)的訓練設(shè)施數(shù)量比較多.所要建模的數(shù)據(jù)量比較大.不可能把所有模型都放在整個訓練場場景中進行建模.因此可以單獨地制作每一個訓練器材。最后將所有模型集成為整個訓練場場景。
對于單一的固定訓練器材 .可以將訓練器材進行結(jié)構(gòu)分解 ,運用 Creator的多種幾何工具進行構(gòu)建,再進行組合。形成完整的單一實體。
由于訓練場周邊的建筑物相對較少 .形狀都較為規(guī)則 .因此可以簡單地進行幾何建模并貼上紋理。Creator中的布告板 .可以使模型在仿真過程 中始終保持面對視點.通常用于創(chuàng)建場景中類似路燈或者樹木等具有對稱性的實體。方法是將表示物體的透明紋理貼到模型表面.然后在運行時,模型會自動旋轉(zhuǎn) ,始終面向視點。我們可以運用這種方法來實現(xiàn)訓練場中樹木 、路燈等模型的建模 ,從而減少模型中多邊形的數(shù)量.提高仿真效率。
根據(jù)實時漫游特性的需要.我們可以選擇圓柱面和半球面模型對天空進行建模,并用紋理映射的方法體現(xiàn)天空背景。
(2)動態(tài)實體建模。訓練場中的紅旗屬于動態(tài)實體,利用Creator對其進行建模主要是通過切換紋理來實現(xiàn)的。以在風中飄揚的紅旗為例.首先利用 Photoshop對紅旗的紋理進行處理 .確定幾張要循環(huán)顯示的圖片。在根節(jié)點下建立幾個子節(jié)點.每個子節(jié)點建立一個 面,將處理好的紅旗紋理貼上每個面 .設(shè)置每張圖片輪流顯示的時間,最后隱藏除第一個子節(jié)點以外的其它節(jié)點。這樣。一個迎風飄揚的紅旗就完成了。
2.3 優(yōu)化模型數(shù)據(jù)庫
使用 Creator建模的最終 目的是為了在仿真程序中使用。在不影響場景真實感的前提下.為了保持程序運行的平滑性,提高系統(tǒng)運行的實時性.在制作模型的后期要盡可能的對模型進行優(yōu)化處理。在構(gòu)建虛擬訓練場景的過程中。主要采用以下優(yōu)化方法:
(1)刪除不必要的多邊形。我們可以通過刪除在視錐體中看不到的多邊形來減少多邊形的數(shù)量.這些多邊形包括模型內(nèi)部的多邊形、其它多邊形后面隱藏的細節(jié)多邊形、模型底面的多邊形等
(2)使用多層次細節(jié)模型。在不影響模型逼真性的情況下合理設(shè)置 LOD的層數(shù) 、每個層次間的切換距離、紋理的大小精細程度等,雖然會增加一些工作量 ,但卻節(jié)省了系統(tǒng)資源,提高了系統(tǒng)運行速度。
(3)采用實例化的方法對模型進行處理。通常應(yīng)用于表示三維場景數(shù)據(jù)庫中多次重復(fù)出現(xiàn)的對象實體.例如道路兩旁的樹木。實例化模型的優(yōu)點主要體現(xiàn)在能夠顯著節(jié)省磁盤空間便于創(chuàng)建、編輯和修改模型。
3 場景漫游
所有的訓練場場景模型建立完成后.需要進一步對模型進行驅(qū)動 .實現(xiàn)場景的實時漫游功能。首先 ,要設(shè)置 LvnX參數(shù) 。對觀察者、運動方式 、環(huán)境特效等功能模塊進行初步的設(shè)置。具體方法是:在 Scenes中設(shè)置為一個觀察者所能看到的所有對象模型:在 Observers中設(shè)置觀察者 ;在 Motion Model中為觀察者設(shè) 置運動方式 ;在 Environments和 Environment Effects中設(shè)置天空和云的效果 。然后在系統(tǒng)中設(shè)置兩種碰撞檢測:一是與地面的碰撞檢測.使觀察者始終隨著地形的變化而改變視點的高度 :二是與訓練設(shè)施和建筑物的碰撞檢測,避免觀察者穿墻而過的情況。
在 vega中可以采用鍵盤控制漫游和固定路徑 自動漫游本文主要是采用鍵盤控制漫游。具體來說.是在Vega中的Motion Models面板選擇Drive運動模式。最后需要生成可執(zhí)行文件,可在 VC中激活其函數(shù)庫。
4 結(jié)束語
本文利用虛擬現(xiàn)實技術(shù)進行了虛擬綜合訓練場場景的三維重建 ,運用 Creator建立起 了各種逼真的訓練設(shè)施 、環(huán)境 、地貌等模型.同時對模型進行了優(yōu)化。然后利用 Vega工具開發(fā)了漫游功能.基本上完成了虛擬訓練場的重建.并能與之進行自然 、三維可視的交互,具有真正的沉浸感。虛擬綜合訓練場的實現(xiàn)。為建立其它形式的訓練場景提供 了一種可行性的方法 。具有一定的應(yīng)用價值。