国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于BIM+GIS的航道三維漫游系統(tǒng)設(shè)計與實現(xiàn)

2022-03-07 08:52袁占全李明益
水運(yùn)工程 2022年2期
關(guān)鍵詞:漫游插件航道

袁占全,李明益

(1.中交第二航務(wù)工程勘察設(shè)計院有限公司,湖北 武漢430071;2.中交(蘇州)城市開發(fā)建設(shè)有限公司,江蘇 蘇州215000)

近年隨著計算機(jī)三維渲染技術(shù)的發(fā)展,對三維場景實時渲染和可視化漫游技術(shù)的應(yīng)用需求日益增加,特別是在工程建筑行業(yè),因為BIM技術(shù)發(fā)展,BIM成果展現(xiàn)要求三維渲染的效果更加逼真、精美。目前市場主流解決方案是采用三維GIS平臺與Unity 3D兩種方式搭建三維漫游系統(tǒng),但存在多源數(shù)據(jù)、大數(shù)據(jù)量與場景渲染效果不能兼得問題[1]。三維GIS平臺可以承載大數(shù)據(jù)量BIM+GIS模型,但其渲染效果不夠逼真精美;游戲引擎Unity 3D雖然三維渲染效果炫酷,但無法承載多源GIS數(shù)據(jù)、大面積地形和影像、精細(xì)BIM模型數(shù)據(jù)。而航道工程分布廣,對大體量數(shù)據(jù)加載、三維水面渲染與漫游效果都有非常高的要求。為此,筆者提出基于BIM+GIS的航道三維漫游系統(tǒng),重點解決航道工程大體量多源三維數(shù)據(jù)、三維場景渲染與漫游效果不能兼得的問題,助力BIM+GIS三維技術(shù)在航道工程行業(yè)的應(yīng)用。

1 研究思路

依托長江干線武漢—安慶段航道6 m水深航道整治工程項目,根據(jù)航道工程空間分布特征和航道BIM模型特點,基于Unity 3D開發(fā)BIM+GIS的航道三維漫游系統(tǒng),解決航道工程大體量三維數(shù)據(jù)、三維場景渲染與漫游效果不能兼得問題。技術(shù)路線見圖1,研究內(nèi)容主要包括:

圖1 技術(shù)路線

1)解決Unity加載GIS數(shù)據(jù)技術(shù)問題,同時采用自動化插件對BIM模型進(jìn)行輕量化處理,減少人工減面的工作量;

2)根據(jù)航道工程空間分布特征提出“分區(qū)動態(tài)數(shù)據(jù)組織管理”+LOD三維動態(tài)渲染相結(jié)合技術(shù);

3)基于Unity 3D游戲引擎設(shè)計實現(xiàn)手動漫游控制和自動飛行漫游功能。

2 BIM+GIS三維航道數(shù)據(jù)處理

2.1 BIM模型輕量化技術(shù)

用BIM模型詳盡描述一棟建筑物或者構(gòu)筑物的外在和內(nèi)在構(gòu)造將涉及大量的建筑細(xì)節(jié),所以一般情況下BIM模型的體量較大[2-3]。模型輕量化的核心思想在于盡量保持模型原狀態(tài)下減少構(gòu)成物體的三角形的數(shù)量。

輕量化傳統(tǒng)技術(shù)路線是在3DMAX軟件中進(jìn)行人工減面處理,其工作量非常大,消耗大量人力物力。Unity 3D 的MeshSimplify插件中包含多種輕量化的算法,其核心算法也是平面擬合原理,最大特點是可以遍歷父物體下的所有子物體,然后分析每個子物體的構(gòu)成,繼而針對性地進(jìn)行輕量化處理。MeshSimplify 插件是一款開源的插件,如果某些算法不適用于當(dāng)前的模型,可以繼承源碼的類之后進(jìn)行修改。一般情況下直接使用該插件即可,在需要輕量化模型導(dǎo)入插件,設(shè)置簡化百分比即可,效果如圖2所示。

圖2 模型自動化處理對比

圖2a)展示未進(jìn)行輕量化的三角形構(gòu)成及分布情況,圖2b)展示對其進(jìn)行0.8倍輕量化后三角形的構(gòu)成,圖2c)展示對其進(jìn)行0.5倍量化后三角形的構(gòu)成。通過這3組不同程度輕量化的模型對比可知,在模型容量變小的同時,航道BIM模型基本保持原模型的形態(tài)特征,滿足實際航道工程應(yīng)用的需要。

2.2 GIS數(shù)據(jù)處理技術(shù)

2.2.1加載柵格數(shù)據(jù)

1)地形數(shù)據(jù)在GlobalMapper等GIS軟件進(jìn)行處理,并導(dǎo)出DEM文件;

2)DEM導(dǎo)入3DMAX生成實體模型,加載影像進(jìn)行貼圖,同時優(yōu)化數(shù)據(jù)紋理色彩等;

3)將處理好的模型導(dǎo)出實體模型.FBX,在Unity 3D中利用MeshSimplify插件對數(shù)據(jù)進(jìn)行輕量化處理,然后加載到三維場景中。

加載柵格數(shù)據(jù)流程見圖3。

圖3 Unity 3D加載柵格數(shù)據(jù)(DEM、DOM)

2.2.2加載矢量數(shù)據(jù)

1)將關(guān)鍵數(shù)據(jù)(SHP)利用GIS軟件轉(zhuǎn)化為帶有地理信息Geojson的數(shù)據(jù)格式;

2)在Unity 3D中讀取Geojson格式數(shù)據(jù),并進(jìn)行數(shù)據(jù)渲染。

3 三維航道數(shù)據(jù)組織與LOD技術(shù)

3.1 項目概況

長江干線武漢—安慶段上起天興洲長江大橋、下迄安慶皖河口,全長約386.5 km,工程主要針對湖廣—羅湖洲、沙洲、戴家洲、鯉魚山、張家洲、馬當(dāng)東流等7個礙航段進(jìn)行系統(tǒng)整治,其中建設(shè)護(hù)灘帶28道、壩體5道、高灘守護(hù)15.4 km、護(hù)岸加固13.3 km、基建疏浚477萬m3及生態(tài)建設(shè)工程(圖4)。該工程的BIM模型、高程、影像、矢量數(shù)據(jù)等GIS數(shù)據(jù)體量非常大,對三維數(shù)據(jù)在Unity引擎中加載與渲染提出巨大挑戰(zhàn)。

圖4 長江武安段航道整治工程分布

3.2 航道工程分布特點

航道工程是開拓航道和改善航道航行條件的工程。項目實地調(diào)研結(jié)果表明,航道工程空間分布特征主要為跨度大、點狀分布、多點線性,總體沿長江沿岸進(jìn)行相關(guān)工程建設(shè)(圖5)。

圖5 長江武漢段某區(qū)域整治工程平面位置分布

3.3 三維航道數(shù)據(jù)組織管理

對于航道工程大場景數(shù)據(jù)而言,任何計算機(jī)一次性加載和渲染數(shù)據(jù)性能都會出現(xiàn)卡頓,因此要盡可能采用分區(qū)域數(shù)據(jù)組織調(diào)度技術(shù)。將一個區(qū)域分解成多個區(qū)域,一般是根據(jù)實際場景大小靈活分區(qū),圖6為某航道工程分區(qū)。

圖6 航道工程平面分區(qū)

將整個航道區(qū)域數(shù)據(jù)按照有、無航道工程區(qū)域以及單個區(qū)域大小分割成若干小區(qū)域,依據(jù)“動態(tài)導(dǎo)入、動態(tài)調(diào)用、動態(tài)卸載”原則將進(jìn)入視野區(qū)域的數(shù)據(jù)導(dǎo)入,視野外區(qū)域數(shù)據(jù)則不導(dǎo)入,當(dāng)已經(jīng)導(dǎo)入?yún)^(qū)域數(shù)據(jù)在視野之外時,則對數(shù)據(jù)進(jìn)行卸載,保證計算機(jī)實時加載數(shù)據(jù)量上限,達(dá)到節(jié)省資源的目的。

3.4 三維航道數(shù)據(jù)LOD技術(shù)

對于復(fù)雜數(shù)據(jù)場景來說,多的不僅是地形數(shù)據(jù)和BIM模型數(shù)據(jù),場景中的文字、樹、船等小品分布也較多,因此僅采用區(qū)域分塊調(diào)度技術(shù)還無法達(dá)到最好的實時狀態(tài)。因此對已加載模型數(shù)據(jù)通過LOD(細(xì)節(jié)層次,levels of detail)技術(shù)進(jìn)行渲染。其根據(jù)模型數(shù)據(jù)離視點距離來動態(tài)判定模型渲染的精細(xì)度,對于近處物體展示細(xì)節(jié),對于遠(yuǎn)處物體只展示其外輪廓,從而節(jié)省計算機(jī)資源,效果如圖7所示。

圖7 某航道區(qū)域三維場景

4 三維航道漫游系統(tǒng)實現(xiàn)

4.1 手動控制漫游

手動控制漫游是使用者通過手動操作鍵盤和鼠標(biāo)來瀏覽三維場景,實現(xiàn)對三維場景的縮放、旋轉(zhuǎn)、平移等功能,靈活控制場景的視角[4]。手動控制漫游一旦接受到相應(yīng)的控制命令就立即響應(yīng),相機(jī)空間位置改變,瀏覽到相應(yīng)場景,整個過程中場景不發(fā)生交互,只移動相機(jī)方位。

手動控制漫游實現(xiàn)步驟如下:

1)開啟手動漫游腳本后,首先設(shè)置好控制方式:鍵盤控制,鼠標(biāo)控制,同時控制,是否開啟旋轉(zhuǎn)控制、移動控制等;

2)接收用戶輸入的控制信息,傳遞到函數(shù)Get Input Translation Direction中(圖8),返回對應(yīng)的移動方向;

圖8 自動漫游控制函數(shù)

3)得到移動方向后,計算出移動距離,移動相機(jī)到相應(yīng)位置。

4.2 自動漫游

場景的自動漫游不需要用戶進(jìn)行控制。其設(shè)計思想:首先確定漫游視點,每個漫游視點對應(yīng)一個漫游時間,表示相機(jī)漫游到該視點所需要的時間,第1個視點對應(yīng)的漫游時間為0,最后1個視點對應(yīng)的漫游時間為整段漫游總時間。將視點依次連接形成一條完整的路徑,并根據(jù)采集視點進(jìn)行內(nèi)插,得到一條完整平滑連續(xù)的路徑就是相機(jī)的漫游路徑,當(dāng)開啟自動漫游功能后,相機(jī)沿著該路徑在規(guī)定時間完成自動漫游[5]。

4.2.1設(shè)置漫游路徑

在自動漫游過程中路徑的設(shè)置主要包括關(guān)鍵漫游點的設(shè)置和根據(jù)關(guān)鍵節(jié)點內(nèi)插成漫游路徑(圖9)。用戶在三維場景內(nèi)選取關(guān)鍵漫游點,并在該漫游點設(shè)置文本、圖片、視頻等內(nèi)容狀態(tài),通過內(nèi)插方式獲得整條路徑的三維點集,為自動漫游提供數(shù)據(jù)。

圖9 路徑設(shè)置步驟

飛行路徑的插值計算步驟如下:

1)獲取路徑相鄰兩個關(guān)鍵點平面坐標(biāo);

2)根據(jù)相鄰兩點的距離和平滑指數(shù),內(nèi)插出兩點間其他二維平面坐標(biāo);

3)從起始點至終點循環(huán)該過程,得到整條路徑所有二維平面點集;

4)根據(jù)已有相鄰點高程,采用距離比例法計算高度值H。

一般插值方法有折線法和樣條曲線法。由于折線法容易出現(xiàn)場景跳動,漫游效果較差,所以本文采用樣條曲線插值法,用樣條函數(shù)計算插值點。

4.2.2自動漫游飛行

自動飛行主要通過定時器來實現(xiàn)。漫游開始后定時器根據(jù)已經(jīng)設(shè)定好的路徑點集在設(shè)置時間執(zhí)行相應(yīng)指令,并繪制渲染當(dāng)前相機(jī)位置的姿態(tài)。當(dāng)讀取到的漫游點數(shù)據(jù)包含數(shù)據(jù)內(nèi)容時,定時器會自動獲取所設(shè)置的內(nèi)容,并根據(jù)內(nèi)容狀態(tài)設(shè)置顯示和隱藏,從而達(dá)到動態(tài)內(nèi)容效果,保證整個漫游過程不間斷、不跳幀、不跳躍連續(xù)的自動飛行漫游效果(圖10)。

圖10 自動漫游效果

5 結(jié)語

1)根據(jù)航道工程跨度大、點狀分布、多點線性空間分布特性,提出分區(qū)數(shù)據(jù)組織調(diào)度技術(shù),將廣域航道工程分成若干區(qū)域,區(qū)域之間依據(jù)“動態(tài)加載、動態(tài)渲染、動態(tài)卸載”原則進(jìn)行動態(tài)調(diào)度,降低計算機(jī)實時處理數(shù)據(jù)量,解決航道工程大體量數(shù)據(jù)加載問題。

2)對單一區(qū)域模型數(shù)據(jù)通過MeshSimplify插件對模型進(jìn)行輕量化處理,減少數(shù)據(jù)的體量,對比傳統(tǒng)人工手動減面大大較少工作量、節(jié)省工作時間;在Unity 3D實時渲染過程中采用LOD技術(shù)動態(tài)渲染數(shù)據(jù),利用Geojson格式數(shù)據(jù)對SHP數(shù)據(jù)進(jìn)行加載與解析,解決Unity 3D加載大體量BIM+GIS數(shù)據(jù)渲染不流暢、卡頓問題。

3)基于Unity 3D二次開發(fā)手動控制漫游功能,同時利用3次樣條函數(shù)設(shè)置飛行路徑,開發(fā)自動飛行漫游功能,最終實現(xiàn)航道工程BIM+GIS三維數(shù)據(jù)加載渲染和高質(zhì)量、高逼真漫游效果兼得。

4)開發(fā)的漫游系統(tǒng)在長江武漢—安慶段6 m水深航道整治工程中得到應(yīng)用,在信息溝通交流和對外宣傳展示均起到較好的作用,對BIM+GIS技術(shù)在航道工程中的推廣應(yīng)用具有重要意義。

猜你喜歡
漫游插件航道
自編插件完善App Inventor與樂高機(jī)器人通信
廈門港航道通過能力建模及應(yīng)用
基于OSGi的軍用指揮軟件插件機(jī)制研究
霹靂漫游堂
新航道
英語高能高分 就上新航道
基于jQUerY的自定義插件開發(fā)
NASA漫游記
插件體系結(jié)構(gòu)軟件的原理和實現(xiàn)
邊走邊看:漫游海底 夢想成真