楊衛(wèi)
摘 要:本文以航標(biāo)船管路系統(tǒng)三維建模為例,詳細(xì)闡述航標(biāo)船三維建模過程中遇到的問題及解決辦法,突出Creator軟件進(jìn)行航標(biāo)船三維建模時的強(qiáng)大功能和優(yōu)勢。
關(guān)鍵詞:虛擬現(xiàn)實技術(shù) 三維建模軟件 Creator
虛擬現(xiàn)實技術(shù)是利用電腦模擬產(chǎn)生出三維空間的虛擬世界,給用戶提供視覺、聽覺、觸覺等感官的模擬,讓用戶如同身臨其境一般。目前,虛擬現(xiàn)實技術(shù)的應(yīng)用已廣泛涉及軍事、教育培訓(xùn)、工程設(shè)計、商業(yè)、醫(yī)學(xué)、影視、藝術(shù)、娛樂等眾多領(lǐng)域,并帶來了巨大的經(jīng)濟(jì)效益。
在船舶領(lǐng)域,通過虛擬現(xiàn)實技術(shù)不僅能提前發(fā)現(xiàn)和解決實船建造中的問題,還為管理提供了充分的信息,真正實現(xiàn)船舶設(shè)計、建造、管理一體化。虛擬設(shè)計涵蓋了建造、維護(hù)、設(shè)備使用等傳統(tǒng)設(shè)計方法無法實現(xiàn)的領(lǐng)域,真正做到產(chǎn)品的全壽期服務(wù)。因此,通過面向船舶整個生命周期的船舶虛擬設(shè)計系統(tǒng)的開發(fā),大大提高了船舶設(shè)計的質(zhì)量,減少船舶建造費用,縮短船舶建造周期。本文結(jié)合“航道維護(hù)船舶虛擬機(jī)艙漫游系統(tǒng)研究與開發(fā)”項目,在對整個機(jī)艙內(nèi)管路系統(tǒng)有了深入了解以后,利用creator軟件對機(jī)艙內(nèi)部管路系統(tǒng)進(jìn)行一個詳細(xì)的三維建模。
Creator三維建模工具介紹
1、Creator基本介紹
Multigen Creator系列軟件,由美國Multigen-Paradigm公司開發(fā)。Creator軟件擁有實時應(yīng)用的Open Flight數(shù)據(jù)格式,強(qiáng)大的多邊形建模、矢量建模、大面積地形精確生成功能,以及多種專業(yè)選項及插件,能高效、優(yōu)化地生成實時三維(RT3D)數(shù)據(jù)庫,并與后續(xù)的實時仿真軟件緊密結(jié)合,在視景仿真、模擬訓(xùn)練、城市仿真、交互式游戲及工程應(yīng)用、科學(xué)可視化等實時仿真領(lǐng)域有著世界領(lǐng)先的地位。
2、Creator軟件特點
Creator的模型文件采用Multigen開發(fā)的OpenFlight數(shù)據(jù)格式。 Open Flight采用幾何層次結(jié)構(gòu)和節(jié)點(數(shù)據(jù)庫層次、組、物體、面等)屬性來描述三維物體,其邏輯層次結(jié)構(gòu)及細(xì)節(jié)層次、截取組、 繪制優(yōu)先級、分離面等功能,極大地提高了實時系統(tǒng)的性能。該文件格式已經(jīng)成為視覺仿真領(lǐng)域最為流行的標(biāo)準(zhǔn)文件格式,也是 Creator優(yōu)于其它建模軟件的重要原因之一。
Creator軟件具有優(yōu)良的操作界面。Creator界面簡潔、直觀,并包含一套功能強(qiáng)大的建模工具, 建模操作簡單、 易用。如圖1所示, Creator在所見即所得的環(huán)境中創(chuàng)建可視層級數(shù)據(jù)庫, 能夠隨時觀測到在數(shù)據(jù)庫的動態(tài)。
具有地形表面生成和矢量建模功能。Creator作為專門面向可視化仿真應(yīng)用的實時三維仿真建模系統(tǒng),具有一套快速創(chuàng)建大面積地形表面模型的強(qiáng)大工具, 使地形精度接近真實世界,并帶有高逼真度三維特征及紋理特征。Creator利用一系列投影算法及大地模型,生成并轉(zhuǎn)化地形, 同時保持與原形一致。通過紋理影射, 可生成逼真的地景,包括道路、河流、市區(qū)等特征。
航標(biāo)船管路三維建模及優(yōu)化
1、材質(zhì)的應(yīng)用
不同物體是由特定質(zhì)地的材料構(gòu)成的,比如樹木,金屬和塑料的質(zhì)地有著明顯的區(qū)別。Creator軟件為了更形象地模擬現(xiàn)實世界中的不同材質(zhì)構(gòu)成的物體,在軟件中設(shè)置了材質(zhì)功能,建模時通過應(yīng)用該功能繪制的三維模型能夠更加逼真。
本文中所構(gòu)建的管路,需要顯現(xiàn)出金屬的特點,所以需要調(diào)整材質(zhì)和光照的明暗,以達(dá)到三維仿真要求。但是要特別注意的是,只有在gouraud,lit或者lit gouraud光照模式下模型對象才能在圖形視圖里面正確的顯示材質(zhì)的效果。每個數(shù)據(jù)模型庫都用自己的材質(zhì)調(diào)板,材質(zhì)調(diào)板里面包含了可以賦予模型對象的材質(zhì),建模時可以通過它所提供的材質(zhì)調(diào)板窗口方便的進(jìn)行材質(zhì)的設(shè)置操作。單擊工具欄上的當(dāng)前材質(zhì)按鈕,可以彈出如圖2所示的材質(zhì)調(diào)板窗口。
默認(rèn)的材質(zhì)調(diào)板內(nèi)包括了64種可用的材質(zhì),每一種材質(zhì)都有著唯一的索引值,范圍為0-63,當(dāng)然也可以將某種特定的材質(zhì)取個特定的名稱便于使用。如果需要使當(dāng)前的材質(zhì)調(diào)板配置為Creator默認(rèn)的材質(zhì)調(diào)板配置,在保存的時候只需要將該材質(zhì)配置文件保存至系統(tǒng)默認(rèn)的配置文件路徑下。
雖然系統(tǒng)只提供給了64種材質(zhì),但可以通過材質(zhì)調(diào)板窗口中的‘Edit/New菜單命令彈出的材質(zhì)編輯器來創(chuàng)建任意數(shù)量的材質(zhì),如圖3所示。
在使用材質(zhì)的時候要注意到對于同時使用了顏色和材質(zhì)的面來說,由于材質(zhì)在顯示時優(yōu)先于顏色屬性,所以說如果需要材質(zhì)的顏色和面的顏色一致最好要調(diào)整材質(zhì)的相應(yīng)參數(shù)。此外,如果所繪制的多邊形使用了透明材質(zhì)的同時有設(shè)置了面的本身透明度,則Creator會進(jìn)行疊加,如果材質(zhì)透明度是0.7,而該面的透明度是0.5,那么它的實際顯示效果是0.35。圖4是管路圖中輔機(jī)所使用的材質(zhì)參數(shù)。
2、多模型的拼接
2.1MultiGen Creator模型合并
在航標(biāo)船的三維建模中,連接工作量較大,如果整條船都由一個人來完成,工作量可想而知,所以在此項目的實施過程中,將整船分解成若干單元進(jìn)行建模,包括船舶駕駛臺,舵機(jī)室,機(jī)艙管路系統(tǒng)以及船舶江景的構(gòu)建,這樣一來就存在一個多模型整合的問題。因此當(dāng)每部分的工作都完成后,最重要的一步就是依據(jù)航標(biāo)船的原始位置,尺寸,相對關(guān)系進(jìn)行整合拼接,將它拼接成一個完整的船體。
小場景的拼接。如果建立的三維場景不大,模型數(shù)量不多,也就是說需要合并在一塊的文件數(shù)目較少的話則可以采用以一個文件為基本,將其他文件拷貝到這個文件中生成最后的文件。將其他模型通過粘貼拷貝到這個基本文件中并置于合適的位置,同時在層級目錄結(jié)構(gòu)中調(diào)整層次關(guān)系,可以達(dá)到整合場景的目的。這種方法的優(yōu)點是方法簡單易用.生成后的文件模型不會發(fā)生轉(zhuǎn)移儲存地址后就丟失紋理的事情,并且便于保存。其缺點是隨著局部模型的不斷加入,生成的FLT文件越來越大,進(jìn)人場景的速度慢,刷新時間也長,不利于實時漫游,適用于簡單場景。endprint
大場景復(fù)雜景物的模型整合。對于一些大型場景,復(fù)雜景物的三維建模,例如整船的三維建模,用小場景的建模方式定然會遇到刷新時間過長的問題。因為整船上設(shè)備過多,所建三維模型所占空間較大,如果把所有的對象模型都復(fù)制到一個文件里面,將會過于累贅,無法加載和刷新場景。這時必須要用到“External Reference”外部引用的方式來完成此類大型場景的拼接,將所有的單體模型導(dǎo)入,這樣每個模型對象的三維模型文件和紋理文件都是被單獨保存的,互相獨立,能夠使最后的整合文件變小。當(dāng)運行視景仿真程序時,計算機(jī)將只顯示要求通過openflight數(shù)據(jù)關(guān)系進(jìn)行快速的視景裝配,這樣計算機(jī)的CPU負(fù)擔(dān)會大大減輕,不會因為一次性調(diào)入過多的圖形和紋理而死機(jī)或者使漫游速度過慢。
2.2 3Dmax模型導(dǎo)入MultiGen Creator
眾所周知,3Dmax以建模詳細(xì)著稱,在航標(biāo)船的建模過程中某些精細(xì)模型,例如駕駛臺的電話,真皮座椅等都是基于3Dmax進(jìn)行構(gòu)建的。而精細(xì)的代價就是模型文件過大,嚴(yán)重影響視景系統(tǒng)的實時性,因此在3Dmax模型導(dǎo)入之后,還需要對其進(jìn)行整合優(yōu)化。在3D MAX的建模完成后,模型以3ds的文件存儲。一個3ds的文件包含一系列的有用信息,用于描述由一個或多個物體構(gòu)成的3d場景的每一個最小的細(xì)節(jié)。
3ds文件導(dǎo)入MultiGen Creator有兩種方法:第一種方法是直接導(dǎo)入,這種轉(zhuǎn)換過程會有一些錯誤產(chǎn)生,例如遺失或置換面數(shù)。這些錯誤可以用MultiGen Creator的轉(zhuǎn)換,復(fù)制工具校正。另一種方法是模型附上3D MAX的網(wǎng)格形式,再導(dǎo)入creator。圖5(a)(b)分別是剛剛導(dǎo)入3DS模型層次化結(jié)構(gòu)和一個整理后的creator openflight層級結(jié)構(gòu)。
對比兩圖可知,圖5(a)的子父組的關(guān)系紊亂,不便于后續(xù)模型的添加與修改,所以要對其節(jié)點進(jìn)行整理優(yōu)化,優(yōu)化步驟如下:①忽略看不見的細(xì)節(jié)。例如,如果管子內(nèi)部不必顯示,則用實心體來代替。②忽略對整體視覺效果影響不大的細(xì)節(jié)。在機(jī)械式的系統(tǒng)中有很多傾斜的邊緣,它們在3D MAX中并不重要。如果在3DMAX中對這些細(xì)節(jié)建模,特別是內(nèi)圓角,模型的面數(shù)會有很大的增加,因此將這些細(xì)節(jié)忽略。③用紋理表現(xiàn)一些細(xì)節(jié)。許多機(jī)械式系統(tǒng)有鉚釘或硬邊會占用很多面,改變的方法是渲染模型,即通過凹凸映射表現(xiàn)這些細(xì)節(jié),獲取位圖,然后應(yīng)用位圖到模型的表面。④用簡單模型替代復(fù)雜模型。在大型仿真場景系統(tǒng),圓柱體通常用三棱柱或四邊形代替,我們在繪制圓管時最多也只用16邊形。⑤在不失精確度的前提下縮減模型的段數(shù)。段數(shù)和視覺效果之間的平衡是很重要的,當(dāng)模型的段數(shù)增加,模型的平滑性會更好,但是數(shù)據(jù)量也就隨之變得更大。⑥編輯模型的子對象和刪除對場景效果影響甚微的子節(jié)點。
3、模型數(shù)據(jù)庫優(yōu)化
管路建模時要注意節(jié)點的設(shè)置,即在建模過程中注意數(shù)據(jù)庫的優(yōu)化。OpenFlight數(shù)據(jù)庫文件采用層次化的結(jié)構(gòu)來存儲三維模型,從上到下主要是根節(jié)點、組節(jié)點、體節(jié)點、面節(jié)點和點節(jié)點等。節(jié)點的層級結(jié)構(gòu)和組織方式影響視景生成中的剔除和繪制,在很大程度上決定了模型數(shù)據(jù)庫的實時性能。實時視景驅(qū)動軟件是按照從上到下、從左到右的順序依次遍歷數(shù)據(jù)庫節(jié)點,進(jìn)行節(jié)點截取計算。模型數(shù)據(jù)庫可以按照線性結(jié)構(gòu)、邏輯結(jié)構(gòu)、空間結(jié)構(gòu)三種形式來組織。邏輯結(jié)構(gòu)是將所有體節(jié)點按照邏輯規(guī)則分別放在不同的組節(jié)點下。例如以船舶機(jī)艙為例,船舶機(jī)艙為體節(jié)點,兩個主機(jī)歸并為主機(jī)組,所有管道歸并為管道組。按照邏輯結(jié)構(gòu)組織模型數(shù)據(jù)庫,在建模過程中比較方便,便于編輯和修改節(jié)點,但會影響到剔除效率。圖6所示航標(biāo)船機(jī)艙數(shù)據(jù)庫是典型的邏輯劃分特征。
空間結(jié)構(gòu)是按照物理空間對節(jié)點進(jìn)行分組,實時系統(tǒng)可以快速判斷出哪些區(qū)域在或不在當(dāng)前可視范圍內(nèi),而不用對場景中的所有體節(jié)點進(jìn)行遍歷操作,所以能夠顯著提高模型的運行速度。對大型的模型而言,這種速度優(yōu)勢會更加明顯。
總結(jié)
本文以航標(biāo)船管系三維建模為例,簡述了基于三維建模工具M(jìn)ultiGen Creator的三維建?;痉椒?。重點介紹了creator中的材質(zhì)設(shè)定,多模型拼接以及模型優(yōu)化功能。除此之外,Creator 的層次化模型數(shù)據(jù)結(jié)構(gòu)OpenFlight也是一大亮點。
接下來,擬對管路模型的逼真度進(jìn)一步改進(jìn),比如:對管路表面的老化及生銹現(xiàn)象進(jìn)行表現(xiàn);針對教學(xué)培訓(xùn),將重要閥件用特殊顏色或紋理表示等。
參考文獻(xiàn):
[1] 《虛擬設(shè)計》--高等教學(xué)參考書全文數(shù)據(jù)庫
[2] 丁駿,鐘彬華,崔振東. 三維虛擬校園的設(shè)計與實現(xiàn)[J]. 科技信息. 2011(13)
[3] Moloney J,Janssen P.New Generation Simulation Technology. Architecture Australia . 2006
[4]《虛擬現(xiàn)實中三維顯示技術(shù)的研究與應(yīng)用》--北郵記憶數(shù)據(jù)庫
[5] 童小念,羅鐵祥,李志玲. MultiGen Creator建模技術(shù)的優(yōu)化與實現(xiàn)[J]. 計算機(jī)系統(tǒng)應(yīng)用. 2008(02)
[6]《虛擬現(xiàn)實與系統(tǒng)仿真》--韋有雙 楊湘龍 王飛編著.國防工業(yè)出版社endprint