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