王 瑛,周 毅,李 萌,朱永凱,袁同軍
(中海油能源發(fā)展采油服務(wù)公司 天津 300452)
近幾年隨著我國(guó)在數(shù)字化領(lǐng)域的高速發(fā)展,數(shù)字化三維模型因能展示更多的信息數(shù)據(jù)和視覺真實(shí)性,在工業(yè)領(lǐng)域已逐漸取代二維模型成為發(fā)展主流。目前在船舶領(lǐng)域,數(shù)字化三維模型也被廣泛應(yīng)用,例如造船廠采用數(shù)字化三維建模[1],可用于提高造船精度和裝配效率;航運(yùn)院校則可配合虛擬現(xiàn)實(shí)技術(shù)進(jìn)行高仿真性教學(xué)培訓(xùn)[2]等。
但是,船舶數(shù)字化三維建模還存在一定難點(diǎn),一方面數(shù)據(jù)量龐大,建模周期較長(zhǎng);另一方面三維模型更加注重建模的準(zhǔn)確性并體現(xiàn)原理性,所建模型的比例要與實(shí)船保持一致,虛擬船舶場(chǎng)景要符合造船工藝,管系連接要嚴(yán)格符合系統(tǒng)原理,且淡水管系、燃油管系、蒸汽管系要能正常運(yùn)轉(zhuǎn)。這些要求都增加了船舶數(shù)字化三維模型的難度。由于船舶設(shè)備繁多、管系復(fù)雜,三維模型的管理也較難。
本文以“海洋石油301”LNG運(yùn)輸船為目標(biāo)船,對(duì)建立船舶三維模型的全過程進(jìn)行詳細(xì)剖析。探討建模和多個(gè)優(yōu)化方法的局限性,從中選取最合適的建模手段和優(yōu)化方法,搭建與實(shí)船完全一致的三維模型,建立全船系統(tǒng),使其可在船舶艙室、駕駛室及 船舶甲板間進(jìn)行虛擬漫游,快速進(jìn)入選擇的區(qū)域或 空間。
目前三維建模的方法分為曲面建模法、多邊形建模法、逆向建模法[3-4]等,從實(shí)時(shí)動(dòng)態(tài)逼真地模擬LNG船舶場(chǎng)景的需求同時(shí)兼顧硬件的限制和易操作性的角度考慮,船舶三維建模往往采用多邊形建模和細(xì)分曲面建模2種方法。
在進(jìn)行建模之前,針對(duì)船舶建模的難點(diǎn)確立了船舶幾何建模的幾條準(zhǔn)則,包括建?;A(chǔ)數(shù)據(jù)的準(zhǔn)備、制作簡(jiǎn)模、合理分布模型密度、合并相同材質(zhì)模型、避免出現(xiàn)2個(gè)面片間距過近、刪除不可見的面片等。還需要編制文檔,在文檔中每個(gè)設(shè)備作為1個(gè)單元,對(duì)這個(gè)單元進(jìn)行拆分,細(xì)化到具體部件,并明確該部件的功能及交互方式。
船舶數(shù)字化三維模型建模的步驟如下:①建立基礎(chǔ)數(shù)據(jù)庫,為保證船舶三維模型的準(zhǔn)確性和真實(shí)性,需將目標(biāo)船的技術(shù)規(guī)格書、設(shè)計(jì)圖紙、系統(tǒng)原理圖、設(shè)備清單等基礎(chǔ)數(shù)據(jù)提前收集整理;②建立系統(tǒng)模型庫,根據(jù)船舶結(jié)構(gòu)數(shù)據(jù)庫和設(shè)備數(shù)據(jù)庫分別對(duì)船舶結(jié)構(gòu)和設(shè)備進(jìn)行建模以備調(diào)用;③組合模型,將船舶結(jié)構(gòu)與設(shè)備按照目標(biāo)船實(shí)際數(shù)據(jù)內(nèi)容將模型組合,并進(jìn)行反復(fù)校對(duì);④添加標(biāo)識(shí),對(duì)建立的船舶三維模型添加標(biāo)識(shí)字段以區(qū)分交互實(shí)體與非交互實(shí)體,對(duì)交互實(shí)體也需添加標(biāo)識(shí)以區(qū)分交互實(shí)體的類型。
LNG船體可分為主船體和上層建筑兩部分,主船體由船底、舷側(cè)、上甲板圍成,其內(nèi)部空間又分隔成許多艙室;上層建筑主要有甲板室和船樓。因LNG船舶設(shè)備繁多、管系復(fù)雜、艙室眾多,以下僅從船舶整體、主要艙室、典型設(shè)備3個(gè)層次介紹船舶數(shù)字化三維模型的建立過程。
LNG船舶整體建模流程如圖1所示。首先收集整理LNG船舶資料,編寫策劃文檔,編制模型制作及命名規(guī)則,在此基礎(chǔ)上制作船體白模;當(dāng)白模完成后,根據(jù)LNG目標(biāo)船的模型特點(diǎn),結(jié)合具體數(shù)據(jù)為白模制作貼圖;貼圖完成后,對(duì)建模的燈光、陰影等元素進(jìn)行渲染,使模型更為逼真;最后將各個(gè)模塊進(jìn)行整合,完成LNG船舶建模。
圖1 三維船舶整體建模流程 Fig.1 Overall 3D ship modeling process
為了后續(xù)將模型及貼圖進(jìn)行分類,在滿足一定精度的前提下,應(yīng)盡可能減少模型數(shù)量。另外,按照命名規(guī)則對(duì)每個(gè)部件進(jìn)行命名,以便于后續(xù)的交互和完善。命名規(guī)則包括模型細(xì)化命名規(guī)則和材質(zhì)貼圖命名規(guī)則等。圖2是模型制作及命名規(guī)則。
圖2 模型制作及命名規(guī)則部分 Fig.2 Model making and naming rules
LNG船舶整體模型的各個(gè)制作階段如圖3所示。白模階段如圖3(a)所示,將白模上完顏色材質(zhì)如圖3(b)所示,制作完貼圖之后如圖3(c)所示,渲染之后的模型如圖3(d)所示。
圖3 船舶整體建模的各個(gè)階段效果 Fig.3 Effect of each stage of ship overall modeling
LNG船舶艙室眾多,一些艙室如駕駛室、集控室、貨控室等非常關(guān)鍵,而這些艙室通??臻g狹窄、設(shè)備眾多、有大量的儀器儀表,建模的工作量很大。如何更高效、逼真地繪制艙室,也是船舶數(shù)字化三維模型的難點(diǎn)。對(duì)于這些艙室,以模塊化思想為基礎(chǔ),結(jié)合航海工作實(shí)際,按照位置細(xì)分或者按照設(shè)備各類細(xì)分。如圖4所示為船舶駕駛室的模塊化分區(qū)圖。
圖4 駕駛室模塊分區(qū) Fig.4 Cab module zoning
對(duì)整個(gè)駕駛室進(jìn)行模塊分區(qū)后,每個(gè)區(qū)域模塊分別建模,之后再集成為一個(gè)艙室,既方便建模,也方便后期的修改和維護(hù)。圖5為L(zhǎng)NG駕駛室各區(qū)域模塊的模型及各區(qū)域模塊集成在一起形成駕駛室的效果,其中,圖5(a)為各區(qū)域模塊集成在一起形成駕駛室的效果,圖5(b)為海桌圖三維建模效果,圖5(c)所示為組合電臺(tái),圖5(d)為區(qū)域模塊集成。
圖5 LNG駕駛室分區(qū)域建模 Fig.5 Zone modeling of cab
典型設(shè)備模型建模的優(yōu)劣直接影響后續(xù)的整體效果和交互體驗(yàn)。由于船舶設(shè)備眾多,現(xiàn)階段每一個(gè)設(shè)備都建立精細(xì)模型是難以實(shí)現(xiàn)的。因此,在擁有準(zhǔn)確模型數(shù)據(jù)的基礎(chǔ)上,還要?jiǎng)澐殖鲈O(shè)備的優(yōu)先級(jí),主次分明地建立模型,既可以提高運(yùn)行速度,又可以保證場(chǎng)景的漫游交互效果。
設(shè)備建模主要采用多邊形建模法。由于LNG船舶場(chǎng)景設(shè)備繁多、管系復(fù)雜,最終的船舶數(shù)字化三維模型面片總數(shù)會(huì)相當(dāng)巨大,必然影響三維場(chǎng)景的加載速度、畫面平均率、內(nèi)存占用率、交互延遲時(shí)間。因此,在建模過程中需盡量減少和優(yōu)化模型的面片數(shù)、邊數(shù)等數(shù)據(jù)信息。
合理地利用Photoshop和3D Studio Max可進(jìn)一步提高船舶建模的效果。利用3D Studio Max對(duì)模型渲染得到模型的UV,放到Photoshop中,繪制出紋理,然后保存圖片;再?gòu)?D Studio Max中的貼圖圖庫找到Photoshop處理過的圖片,并用3D Studio Max將貼圖重新賦給模型;最后查看效果并進(jìn)一步修改完善,直至達(dá)到效果最佳。典型設(shè)備建模流程如圖6所示。圖7為一些典型小設(shè)備的三維建模過程,從左到右分別是白模、貼圖模型和渲染模型。
圖6 典型設(shè)備建模流程 Fig.6 Typical equipment modeling process
圖7 典型小設(shè)備建模各個(gè)階段 Fig.7 Typical small device modeling stages
船舶場(chǎng)景設(shè)備繁多、管系復(fù)雜,最終的船舶數(shù)字化三維模型面片總數(shù)將相當(dāng)巨大,必然會(huì)對(duì)三維場(chǎng)景繪制實(shí)時(shí)性(包括加載速度、畫面平均幀率、內(nèi)存占用率、交互延遲時(shí)間等)造成影響,若只通過縮減船舶數(shù)字化三維模型面片來提高場(chǎng)景的繪制效率,必然會(huì)降低模型的精度,在一定程度上會(huì)影響船舶的真實(shí)性。因此,必須采用有效的優(yōu)化方法使船舶場(chǎng)景既有真實(shí)感又有實(shí)時(shí)性。針對(duì)此問題,要做大量的優(yōu)化工作,如貼圖優(yōu)化、LOD技術(shù)、數(shù)據(jù)庫的高效組織、減少狀態(tài)改變、渲染優(yōu)化等。
為更好地展現(xiàn)船舶設(shè)備的局部細(xì)節(jié),使整體效果更為逼真,同時(shí)節(jié)省面片數(shù),需要通過相應(yīng)的技術(shù)手段對(duì)貼圖進(jìn)行優(yōu)化。如圖8(a)所示類似鏤空設(shè)備的建模,通常采用Alpha貼圖進(jìn)行優(yōu)化;圖8(b)展現(xiàn)大面積油漆面的設(shè)備,需要通過凹凸貼圖優(yōu)化。
圖8 貼圖優(yōu)化 Fig.8 Map optimization
LNG船舶建模過程中,如果每個(gè)設(shè)備的每個(gè)細(xì)節(jié)全部展現(xiàn)在建模中,將占用大量資源降低運(yùn)行速度,因此現(xiàn)在廣泛使用LOD技術(shù)[5],即多細(xì)節(jié)層次技術(shù)對(duì)模型中所有設(shè)備進(jìn)行優(yōu)化,對(duì)所展現(xiàn)的目標(biāo)物按照重要性和距離遠(yuǎn)近進(jìn)行歸納分類,降低對(duì)非重要或距離較遠(yuǎn)的目標(biāo)物刻畫細(xì)節(jié)和面數(shù),從而提高建模整體效率和降低資源占用率。
圖9為本次建模對(duì)所有設(shè)備模型分類示例。 第1步先初步分為l1(重要或近距離)和l2(次重要或遠(yuǎn)距離)2個(gè)大類,將無需展示的直接剔除;第2步再根據(jù)第1步剩余2個(gè)分類進(jìn)一步細(xì)化為4個(gè)分類;最后分別按等級(jí)定義為model1、model2、model3、model4 4個(gè)類型,即model1為最需要細(xì)節(jié)刻畫的一類模型,model4為簡(jiǎn)單展示的一類模型。
圖9 LOD嵌套結(jié)構(gòu) Fig.9 LOD nesting structure
虛擬船舶場(chǎng)景庫必須高效地進(jìn)行繪制,通常更新速率為每秒20幀以上,每幀的繪制過程可分為3個(gè)階段:更新、揀選和繪制。揀選過程中每一幀都需要對(duì)原始船舶場(chǎng)景數(shù)據(jù)庫訪問并提取,原始數(shù)據(jù)庫如過于隨意雜亂同樣會(huì)造成數(shù)據(jù)揀選時(shí)間延長(zhǎng),從而影響整體效率。繪制場(chǎng)景同樣如此,因?yàn)槔L制場(chǎng)景需要對(duì)揀選的數(shù)據(jù)進(jìn)行提取,提取過慢容易造成繪制過程出現(xiàn)丟幀或失幀。同時(shí),揀選和繪制所耗費(fèi)的時(shí)間和速率要保持一定協(xié)調(diào)與平衡性,如果揀選耗時(shí)過長(zhǎng),會(huì)造成系統(tǒng)沒有足夠余量去提取數(shù)據(jù),從而影響繪制整體效率。目前,三維建模中通常會(huì)對(duì)數(shù)據(jù)庫進(jìn)行整理,利用一定的空間和邏輯性對(duì)數(shù)據(jù)結(jié)構(gòu)重新組織,從而達(dá)到數(shù)據(jù)庫的高效運(yùn)轉(zhuǎn)。
圖10所示為一個(gè)船舶在碼頭的場(chǎng)景,該場(chǎng)景一共由Area1、Area2、Area3和Area4 4個(gè)分場(chǎng)景組成,已知場(chǎng)景中有2組樹(Tree)和2組建筑物(Building),通過空間的方法組織數(shù)據(jù),就需將處于Area1的一組樹和建筑物定義為Tree1和Building1,將處于Area4的一組樹和建筑物定義為Tree2和Building2,這樣在揀選和繪制某組樹和建筑物時(shí)系統(tǒng)將很快且精準(zhǔn)地訪問到該組數(shù)據(jù)。
圖10 空間和邏輯相結(jié)合的結(jié)構(gòu)組織數(shù)據(jù)庫 Fig.10 Structure of spatial and logical organization database
假設(shè)為了進(jìn)一步展示樹Tree1的局部細(xì)節(jié),可對(duì)Tree1的數(shù)據(jù)再細(xì)分為t1和t2 2組數(shù)據(jù)分支,但是再細(xì)分的分支不宜過多,當(dāng)過多時(shí)同樣會(huì)造成Tree1數(shù)據(jù)異常龐大、系統(tǒng)忙于揀選使訪問和提取時(shí)間過長(zhǎng)。所以還需要進(jìn)行邏輯分析,將數(shù)據(jù)相似的盡可能整合在一起,控制好分支的數(shù)據(jù)量。
由于LNG船舶三維建模每組設(shè)備和場(chǎng)景的模型數(shù)量巨大,如果在建模后期再進(jìn)行數(shù)據(jù)組織整理,會(huì)造成建模者調(diào)整異常艱難。筆者建議在建模初期合理組織每個(gè)場(chǎng)景數(shù)據(jù)庫,從而減少后期建模工作量。
LNG船舶三維建模過程中建模軟件所生成的圖形API所包含的顏色、材質(zhì)等元素信息始終被保存在緩存中,因累積將占用大量資源而影響建模繪制的效率,同時(shí)狀態(tài)改變過于頻繁會(huì)影響模型運(yùn)行速度。為此,需要將狀態(tài)改變進(jìn)行優(yōu)化處理。如圖11(a)所示,原object1數(shù)據(jù)中包含p1、p2、p3、p4、p5、p6共 6組數(shù)據(jù),按順序會(huì)發(fā)生5次狀態(tài)改變。經(jīng)優(yōu)化整理后發(fā)現(xiàn)p1、p3、p5的數(shù)據(jù)信息相同,p2、p4、p6的數(shù)據(jù)信息相同,據(jù)此可優(yōu)化為圖11(b)兩類狀態(tài),那么中間只發(fā)生1次改變即可,從而簡(jiǎn)化了狀態(tài)數(shù)據(jù)的改變過程。
圖11 狀態(tài)改變 Fig.11 Status change
為使所開發(fā)的船舶三維場(chǎng)景具有更強(qiáng)的真實(shí)性與材質(zhì)感,需要對(duì)所建模型和場(chǎng)景進(jìn)行渲染優(yōu)化[6],通過補(bǔ)充光照、陰影及色彩等元素而使模型信息更為豐富。目前渲染的主要方法分為2種:一種為實(shí)時(shí)渲染法,即將所建目標(biāo)模型的光照、陰影等元素通過GPU實(shí)時(shí)計(jì)算后再渲染到模型上,其優(yōu)點(diǎn)是所建模型具有較高的實(shí)時(shí)性和流暢性,缺點(diǎn)是需要大量實(shí)時(shí)計(jì)算和編碼,并且對(duì)GPU等硬件要求高,故廣泛用于船舶外部甲板、動(dòng)設(shè)備等實(shí)時(shí)場(chǎng)景的渲染;另一種為靜態(tài)烘焙渲染法,即將光照、陰影等原始信息預(yù)先制成多張貼圖再渲染貼至目標(biāo)模型,其優(yōu)點(diǎn)是可減少實(shí)時(shí)渲染的計(jì)算量,缺點(diǎn)是會(huì)大量占用顯存且效果均為靜態(tài),故廣泛用于各類船舶內(nèi)部艙室、靜設(shè)備等靜態(tài)場(chǎng)景的渲染。通過2種渲染方法的優(yōu)勢(shì)互補(bǔ)、相互結(jié)合,提高了船舶三維場(chǎng)景建模效率和經(jīng)濟(jì)性。
經(jīng)過上述步驟優(yōu)化后,LNG船舶數(shù)字化三維模型部分效果如圖12所示,最終的三維場(chǎng)景與實(shí)際場(chǎng)景幾乎一致。
圖12 數(shù)字化三維模型效果圖 Fig.12 Effect drawing of digital 3D model
本文通過梳理LNG船舶數(shù)字化三維建模流程和流程優(yōu)化方法,解決了以往船舶建模過程數(shù)據(jù)量體積龐大、系統(tǒng)流程性不足和缺乏真實(shí)性與實(shí)時(shí)性等容易出現(xiàn)的問題;同時(shí),各種建模方法的選取與結(jié)合提高了建模和場(chǎng)景系統(tǒng)運(yùn)行效率,縮短了建模的周期,對(duì)后期LNG船舶仿真系統(tǒng)的建立提供指導(dǎo)與參考?!?/p>