夏 萍 尹念東,2
(1湖北工業(yè)大學(xué)機(jī)械工程學(xué)院,湖北武漢 430068;2黃石理工學(xué)院機(jī)電工程學(xué)院,湖北黃石 435003)
虛擬場景實時漫游技術(shù)具有實時性和交互性的特點,將該技術(shù)應(yīng)用于大學(xué)校園漫游系統(tǒng)的開發(fā),人們便可足不出戶輕松自如地瀏覽學(xué)校的每個角落,通過外部設(shè)備與虛擬校園進(jìn)行交互操縱,如身臨其境,具有良好的沉浸性和交互性?;贛ultiGen Creator的校園漫游系統(tǒng)開發(fā)具有較高的實際價值。如何更快捷的開發(fā)出實時性好、交互性強(qiáng)的桌面型漫游系統(tǒng)是本文要探討的內(nèi)容。
本文以黃石理工學(xué)院校區(qū)為研究對象,借助3D建模軟件MultiGen Creator和三維圖形驅(qū)動軟件OpenGVS,開發(fā)了一個桌面型的虛擬校園實時漫游系統(tǒng)。主要從虛擬環(huán)境的建模和圖形系統(tǒng)的驅(qū)動兩方面來進(jìn)行闡述,虛擬環(huán)境建模主要包括模型設(shè)計、場景構(gòu)造、紋理貼圖等,圖形系統(tǒng)驅(qū)動主要包括用戶漫游、碰撞檢測等。
為了給用戶創(chuàng)建一個能使其感受到身臨其境、逼真的環(huán)境,必要條件之一就是創(chuàng)建一個逼真的虛擬場景。三維建模技術(shù)是整個 VR系統(tǒng)建立的基礎(chǔ),是所有應(yīng)用中的一個關(guān)鍵步驟和技術(shù),是整個虛擬現(xiàn)實技術(shù)的靈魂[1]。
MultiGen Creator是美國MultiGen-Paradigm公司開發(fā)的新一代實時仿真建模軟件。它將多邊形建模、矢量建模和地形生成集成在一個軟件包中,能方便地進(jìn)行矢量編輯和建模、地形表面生成,可以在滿足“實時仿真”要求的前提下,高效的創(chuàng)建大規(guī)模虛擬場景模型數(shù)據(jù)庫。目前,在航空航天、娛樂、虛擬現(xiàn)實、視頻播放以及計算機(jī)輔助設(shè)計、建筑工程、教育培訓(xùn)、金融分析、電子技術(shù)和軍事訓(xùn)練仿真等仿真及可視化領(lǐng)域中,MultiGen Creator得到了越來越廣泛的應(yīng)用[2]。
在構(gòu)造場景時,根據(jù)建模的目的和要求,首先考慮概略模型,逐步細(xì)化構(gòu)造精確模型[3]。根據(jù)黃石理工學(xué)院校區(qū)的布局,本文校園漫游系統(tǒng)模型的結(jié)構(gòu)圖如圖 1所示,系統(tǒng)實現(xiàn)過程如圖 2所示。
圖1 校園漫游系統(tǒng)模型結(jié)構(gòu)圖
圖2 系統(tǒng)實現(xiàn)過程
1)地形地貌建立。地形地貌模型,主要包括仿真區(qū)域地理表面的形態(tài)??梢越柚鶰ultiGen Creator提供的Terrain模塊,通過原始地形數(shù)據(jù)建立場景模型。為了使創(chuàng)建的地形模型更加真實,通常需要參考實際地形的數(shù)字高程模型??梢蕴峁┑匦卧紨?shù)據(jù)信息的數(shù)據(jù)格式有很多,如USGS DEM、NIMA DTED格式,但是這些格式必須轉(zhuǎn)換為Creator專用的數(shù)字高程數(shù)據(jù)DED格式。
2)紋理素材準(zhǔn)備。為了表現(xiàn)一個更真實的虛擬環(huán)境,需要用數(shù)碼相機(jī)采集真實物體的表面紋理照片。由數(shù)碼相機(jī)拍攝的照片一般不能直接使用,需要通過專業(yè)的圖形工具進(jìn)行處理。本文根據(jù)數(shù)碼相機(jī)拍攝的照片,通過Photoshop軟件及安裝RGB插件,將JPG格式的照片轉(zhuǎn)換為Creator能夠識別的RGB格式,再將這些紋理圖像加載到紋理調(diào)板中供貼圖使用。
3)物體模型建立。場景中的物體模型可分為 2D模型和 3D模型。2D模型包括草地、河流、道路等;3D模型包括建筑物、樹木等,可以利用Creator提供的強(qiáng)大的多邊形、矢量建模功能完成模型的建立。在建模的過程中要注意模型數(shù)據(jù)庫的構(gòu)造要盡可能簡單,便于進(jìn)行遍歷操作,模型的多邊形數(shù)量要盡可能減少。
4)模型紋理貼圖。紋理貼圖用于物體表面的描述,它能將復(fù)雜的物體表面真實地體現(xiàn)出來。借助紋理貼圖,可以用較少的多邊形表現(xiàn)復(fù)雜的幾何形體,從而節(jié)省建模時間并減少系統(tǒng)資源的消耗。需要注意的是,紋理圖片的長度和寬度應(yīng)嚴(yán)格限制為 2的冪次方的像素單位,這樣能夠提高實時程序的運算速度,并可以保證貼圖紋理的正常顯示,否則在視景系統(tǒng)運行過程中圖片很可能會產(chǎn)生傾斜或變形[4]。
5)場景集成。針對上述步驟完成的虛擬環(huán)境中的所有模型,按空間位置將其有序地集成到整個場景中,生成整個校園的虛擬環(huán)境如圖3所示。在Creator中,可以通過對其他模型數(shù)據(jù)庫外部引用來實現(xiàn)模型的集成,相當(dāng)于一個指向其他模型數(shù)據(jù)庫的指針。通過外部引用,可以有效降低模型數(shù)據(jù)庫的規(guī)模,節(jié)省內(nèi)存空間和存儲空間,提高系統(tǒng)資源的利用率。
圖3 校園場景模型圖
系統(tǒng)模型建造完成后,就要根據(jù)實際仿真任務(wù)的要求來對模型進(jìn)行驅(qū)動,實現(xiàn)場景的漫游功能。本文采用OpenGVS中提供的API來完成視景系統(tǒng)的驅(qū)動及渲染。OpenGVS包含了一組高層次的、面向?qū)ο蟮?C++應(yīng)用程序接口(API),它們直接架構(gòu)于世界領(lǐng)先的三維圖形引擎(包括OpenGL、Glide和Direct3D)上,它的一個功能函數(shù)調(diào)用,等同于普通的上百或上千行圖形編程代碼。開發(fā)者只需用少量代碼就可以快速生成高質(zhì)量的 3D應(yīng)用軟件。OpenGVS的API分為相機(jī)、通道、煙霧、幀緩沖、幾何體、光源、對象、場景、工具、特效等各組資源,本文根據(jù)應(yīng)用的需要調(diào)用這些資源來驅(qū)動硬件實時產(chǎn)生所需的圖形和效果。
整個校園模型建立完成后,就要將其導(dǎo)入到OpenGVS中進(jìn)行實時渲染和仿真驅(qū)動了。OpenGVS提供的import命令可以直接導(dǎo)入場景模型數(shù)據(jù)庫,數(shù)據(jù)模型一旦導(dǎo)入后,僅需要2行代碼就能將導(dǎo)入的對象定義實例化,然后加入到場景。例如在導(dǎo)入教學(xué)樓的模型文件時,模型導(dǎo)入命令為:
GVS使用前,系統(tǒng)自動地調(diào)用且僅調(diào)用一次Gv-sys-init()初始化系統(tǒng),并根據(jù)用戶的需要創(chuàng)建和分配各種資源。
為了使用戶能通過操作鼠標(biāo)或鍵盤在整個虛擬場景中自如的瀏覽,需要正確的設(shè)置用戶的觀察視點,使系統(tǒng)中的觀察相機(jī)能根據(jù)用戶的操作在不同方向上進(jìn)行移動和轉(zhuǎn)動,從而達(dá)到在場景中自由漫游的目的,系統(tǒng)漫游效果圖如圖4所示。如視點向前移動,用OpenGVS實現(xiàn)代碼如下:
圖4 系統(tǒng)漫游效果圖
在虛擬場景中漫游時,如果不加控制,虛擬人將可以穿過物體,這與實際情況不符,所以在設(shè)計物體模型時,需要給物體模型加上碰撞檢測功能,這樣,當(dāng)虛擬人碰到物體時就無法繼續(xù)向前走動,與現(xiàn)實情況吻合。本系統(tǒng)需要將視點與天空、地面以及建筑物等的邊界進(jìn)行碰撞檢測,以防用戶在觀察場景的時候發(fā)生穿透地面、天空或“穿墻而過”的情況。虛擬環(huán)境漫游中的碰撞檢測比較簡單,將視點當(dāng)做一個小球體,將照相機(jī)安裝在球體中心,在球體中心處畫 3條相互正交的線段,視點移動的時候,以這 3條線段與物體邊界做線段檢測,如果碰撞發(fā)生,則禁止視點當(dāng)前的移動。碰撞檢測主要代碼如下:
本文針對黃石理工學(xué)院校區(qū)運用Multigen Creator建模技術(shù)以及基于OpenGVS的視景系統(tǒng)驅(qū)動及渲染技術(shù),實現(xiàn)了校園漫游系統(tǒng)的設(shè)計。為使建模效果更佳,本文綜合使用各種軟件工具,最大限度地提高工作效率。系統(tǒng)所有模型均轉(zhuǎn)換為MultiGen Creator支持的Open-Flight格式,以便仿真程序的實時管理和調(diào)度。另外對于大型場景的實時仿真,一次調(diào)入內(nèi)存幾乎不可能,因此,建模時可將大型場景劃分為幾個區(qū)域,在用戶漫游系統(tǒng)時,動態(tài)的裝載視點周圍的場景,從而節(jié)省內(nèi)存空間和存儲空間,提高系統(tǒng)資源的利用率。
[1] 翟麗平.基于MultiGen的虛擬現(xiàn)實三維建模技術(shù)研究與實現(xiàn)[D].[碩士論文].重慶:重慶大學(xué),2005
[2] 吳家鑄,黨崗,劉華峰,等.視景仿真技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2001
[3] 童小念,羅鐵祥,李志玲.MultiGen Creator建模技術(shù)的優(yōu)化與實現(xiàn)[J].計算機(jī)系統(tǒng)應(yīng)用,2008 (2):94-95
[4] 王裕儉.基于Multigen Creator和Vega的虛擬現(xiàn)實探討[J].測繪信息與工程,2003,28(4):14 -16