(中國艦船研究設(shè)計中心,武漢 430064)
虛擬現(xiàn)實技術(shù)[1](VR)是一種使用各種先進的計算機軟、硬件構(gòu)建虛擬場景,用以實現(xiàn)對自然環(huán)境的逼真模擬和實時交互體驗的先進技術(shù)。將虛擬現(xiàn)實技術(shù)引入綜合船橋設(shè)計中,并通過三維實時視景仿真,對綜合船橋設(shè)計和設(shè)備布置效果進行直觀展示和輔助仿真分析,可節(jié)約一定的時間和經(jīng)濟成本。
MutliGen Cerator[2]工作在“所見即所得”的三維環(huán)境中,能使用戶清楚了解建模的每一個步驟,以及數(shù)據(jù)庫每一處改動。MultiGen Creator與CAD等其他建模軟件的區(qū)別在于,他考慮了如何生成逼真的大面積地形、地貌等地理環(huán)境,以及如何創(chuàng)建低多邊形數(shù)的模型,簡化和減少實時應(yīng)用的程序要求,提高模型實時性。目前,MultiGen Creator產(chǎn)品有基于Windows操作系統(tǒng)的版本,極大地方便了用戶的使用。
MultiGen Creator的開放式文件格式OpenFlight可以說是視景仿真領(lǐng)域的行業(yè)規(guī)范。同時,MultiGen Creator還具有強大的兼容性,能與眾多的圖像處理軟件格式兼容,如:VRML、3DMax、AutoCAD、Photoshop或是Wavetront的數(shù)據(jù)文件。
3D Max也是虛擬現(xiàn)實領(lǐng)域常用的三維建模工具[3]。3D Max具有非常強大的點、線、面、幾何體編輯功能,如編輯網(wǎng)格、放樣、NURBS曲面、布爾運算等功能,對對象的細節(jié)描述非常生動,渲染能力非常強,適用于建立精細對象模型。
但是對于3D Max文件來說,數(shù)據(jù)量的控制是一個難以解決的問題。一般的3D Max文件都要大于100 k,一個小小的駕駛艙工作電話模型就有10 M。這樣的模型文件大小對于需要進行實時交互的船舶駕駛艙三維視景仿真來說,是相當(dāng)大的負擔(dān)。
為了解決視景仿真實時性與船舶駕駛艙模型逼真度之間的矛盾,將3D Max與MultiGen Creator結(jié)合運用,進行組合建模,見圖1。表1為駕駛艙模型的分類以及建模工具選擇。
圖1 船舶駕駛艙三維模型
建模工具適用船舶駕駛艙內(nèi)對象模型文件大小MultiGen Creator船體結(jié)構(gòu)海圖室設(shè)備 一般描述對象,如:普通盤臺、推進臺、雷達臺等單一對象模型<100 k3D Max 對細節(jié)描述要求高的對象,如:分羅經(jīng)、電話、高檔皮椅,舵輪等單一對象模型>10 M
圖2為基于三維建模工具MultiGen Creator和實時視景仿真環(huán)境Vega 的綜合船橋建模流程圖[4]。
圖2 三維建模流程圖
仿真建模的第一步必須進行資料的收集和整理,然后依據(jù)仿真對象需要表現(xiàn)的細節(jié)程度,選擇不同的仿真建模工具進行原型建模。一般來說,選擇3D Max和Maya等工具進行精細部件的建模,通過轉(zhuǎn)換工具導(dǎo)入Creator進行模型的修復(fù)和優(yōu)化。所有模型建模優(yōu)化完畢,就可以加載到實時視景仿真環(huán)境Vega中進行仿真研究。
通常情況下,一個大型場景是由多人進行三維建模,然后依據(jù)模型的原始位置、尺寸、相對關(guān)系進行整合拼接而成。通過實踐和效果對比,總結(jié)出兩種不同的模型整合方法。
1) 小場景的模型整合。如果需要建立的三維場景不是特別龐大,涉及模型對象數(shù)量有限(如:對象小于100個),這時可采用“小圖拼大圖”方法來完成整個場景建模。這時只需要注意局部模型文件的繪制比例、相對位置,以及其在OpenFlight文件結(jié)構(gòu)中的層次位置即可。
這種方式簡單、快捷,生成后的全場景三維模型不會丟失紋理,且便于保存。主要缺陷是隨著局部模型的不斷加入,場景不斷豐富,所生成的.FLT文件不斷增大。這樣在導(dǎo)入實時視景仿真環(huán)境Vega時就會造成加載速度慢,刷新時間較長,不利于實時漫游。文中建立的船舶駕駛艙模型基本上仍屬于小場景,適用于此種方法。
2) 大場景復(fù)雜景物模型整合[5]。對于大場景、復(fù)雜景物的三維建模,比如整條船的三維建模,采用小場景建模方法顯然不合適。因為一條船不僅有復(fù)雜的船體結(jié)構(gòu),船上有各種儀器、設(shè)備,而且管路很多,如果把所有對象模型都復(fù)制到一個文件中,這個文件顯然是太龐大了。這時必須采用外部引用方式來完成大場景的拼接。這時,每個模型對象的紋理文件和三維模型文件都被單獨保存,相對獨立。當(dāng)運行視景仿真程序時,計算機將只顯示要求,通過OpenFlight數(shù)據(jù)關(guān)系進行快速的視景裝配。這樣CPU的處理負擔(dān)被大大減輕了,不會因為一次性調(diào)入過多的模型而死機或者使得漫游速度過慢。
網(wǎng)上3D Max的模板資源較為豐富,這為建立駕駛艙內(nèi)的精細對象模型提供了便利,如:高檔皮椅,電話等。但這些基于3D Max的模型文件并不能直接被視景仿真使用,必須對其進行修復(fù)和優(yōu)化處理。圖3和圖4分別顯示了一個剛剛導(dǎo)入的3DS模型各個三角面信息和一個常規(guī)的Creator OpenFlight層次結(jié)構(gòu)。
圖3 3D Max模型導(dǎo)入Creator后的層次化結(jié)
圖4 正常的OpenFlight層次結(jié)
對比圖3、4可以看出,圖3所示模型的子父組關(guān)系非常紊亂,而且大大小小的三角面數(shù)量很多,所以優(yōu)化是必要的[6]。主要優(yōu)化步驟如下:
1) 忽略看不見的細節(jié)。例如,如果管子內(nèi)部不必顯示,用實心體來代替。
2) 忽略對整體視覺效果影響不大的細節(jié)。在機械系統(tǒng)中有很多傾斜的邊緣,他們在3D Max中并不重要。如果在3D Max中對這些細節(jié)建模,特別是內(nèi)圓角,模型的面數(shù)會有很大的增加,因此將這些細節(jié)忽略。
3) 用紋理表現(xiàn)一些細節(jié)。許多機械式系統(tǒng)有鉚釘或硬邊會占用很多面,改變的方法是渲染模型,即通過凹凸映射表現(xiàn)這些細節(jié),獲取位圖,然后應(yīng)用位圖到模型的表面。比如駕駛艙窗戶四周的鉚釘。
4) 用簡單模型替代復(fù)雜模型。在大型仿真場景系統(tǒng),圓柱體通常用三棱柱或四邊形代替。
5) 編輯模型的子對象和刪除對場景效果影響甚微的子節(jié)點。
船舶駕駛艙雖然屬于小場景,但是其模型還是比較豐富的。為了提升仿真的實時性,對三維模型進行了一定的優(yōu)化[7]。
1) 刪除、合并面。對于漫游中看不見的面和操控臺內(nèi)部的面都進行刪除。對于位置臨近、邏輯關(guān)系上屬于同一對象的面進行合并。
2) 重復(fù)模型的實例化。實例是指模型數(shù)據(jù)庫中模型對象的一個參考副本,他在內(nèi)存中僅裝入一次,類似于動態(tài)連接庫文件,這樣可以節(jié)省大量的硬盤和內(nèi)存空間。對于船舶駕駛艙中的多部工作電話,采用了實例化技術(shù)。
3) 簡化紋理。在不失視覺效果的前提下,用小尺寸的紋理圖片代替大尺寸的圖片。例如用16×16像素的圖片代替128×128像素的圖片。
4) 運用層次細節(jié)(LOD)技術(shù)。對于具有復(fù)雜
結(jié)構(gòu)的模型對象,建立細節(jié)層次描述不同的多個版本。當(dāng)遠距離觀察該物體時,調(diào)用細節(jié)層次最粗糙的模型。隨著視點不斷貼近該物體,逐步切換細節(jié)描述精細的模型。這樣能夠達到減少多邊形的目的,減少實時渲染的開銷。文中對分羅經(jīng)的處理就采用了LOD技術(shù)。
三維建模技術(shù)是虛擬現(xiàn)實技術(shù)中的關(guān)鍵技術(shù),也是仿真度是否逼真的關(guān)鍵。結(jié)合綜合船橋這一研究對象,在研究和對比了主流三維建模軟件MultiGen Creator和3D Max的基礎(chǔ)上,提出將兩者相結(jié)合來構(gòu)建小范圍復(fù)雜場景的方法,應(yīng)用于實際項目中取得了較理想的效果。
[1] 張 嵐,蒲小瓊.基于CREATOR與VEGA技術(shù)的虛擬場景優(yōu)化技術(shù)及研究[J].計算機應(yīng)用與軟件,2007,24(5):116-118.
[2] 王裕儉.基于MultiGen Creator和Vega的虛擬現(xiàn)實探討[J].測繪信息工程,2003(8):14-16.
[3] 王 堅,孫宇浩.身臨其境:虛擬現(xiàn)實科學(xué)與技術(shù)[M].杭州:浙江技術(shù)出版社,1999.
[4] 陳 誼,孫悅紅,牛 兵.基于CAD數(shù)據(jù)的3D場景建模及演示技術(shù)研究[R].北京工商大學(xué)計算機學(xué)院,2007.
[5] 程效軍,朱 鯉,劉俊領(lǐng).三維建模中的紋理處理[J].遙感信息,2004(2):24-26.
[6] 朱 慶,龔 俊,杜志強,等.三維城市模型的多細節(jié)層次描述方法[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2005,30(11):965-969.
[7] 朱仁成.3DS Max室外建筑藝術(shù)與效果表現(xiàn)[M].北京:電子工業(yè)出版社,2003.