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