阮志敏 , 馬科富, 唐菲菲
(1.招商局公路信息技術(shù)(重慶)有限公司,重慶 400067; 2.成都西山居世游科技有限公司,成都 610041;3.重慶交通大學(xué) 土木工程學(xué)院,重慶 400074)
隨著我國城鎮(zhèn)化建設(shè)的不斷推進,連接各城市和城鎮(zhèn)間的公路工程建設(shè)成為國家關(guān)注的重點之一,這為我國公路建設(shè)帶來了新的發(fā)展機遇,同時也給公路工程勘測、設(shè)計和施工帶來新的挑戰(zhàn)[1-2]。傳統(tǒng)的公路設(shè)計成果均為紙質(zhì)文件,傳統(tǒng)方式存在表達不夠全面、細節(jié)及真實情況無法動態(tài)展現(xiàn)、精準程度不夠、設(shè)計過程中的問題不易發(fā)現(xiàn)等問題。
現(xiàn)代科技的發(fā)展尤其是智能感知技術(shù)和虛擬現(xiàn)實技術(shù)的快速發(fā)展,促使電子沙盤技術(shù)朝多樣化、智能化和藝術(shù)化的趨勢發(fā)展。新一代電子沙盤以傳統(tǒng)沙盤模型為基礎(chǔ),融合了當(dāng)前先進的自動控制技術(shù)、電子技術(shù)、數(shù)據(jù)庫技術(shù)和計算機圖形圖像處理技術(shù),能夠準確地處理好各種數(shù)據(jù),從而構(gòu)建一個真實感強的電子沙盤[3-6]。電子沙盤系統(tǒng)的核心成為人與地理環(huán)境的場景鏡像及虛擬交互。目前,主流電子沙盤構(gòu)建方法以公路設(shè)計軟件如Autodesk InfraWorks、Bentley LumenRT、DPX及三維地理信息軟件如CityMaker、Supermap、ArcGIS等平臺為基礎(chǔ)[7-8],結(jié)合公路設(shè)計過程,融合設(shè)計及地形資料,綜合體現(xiàn)未來實施后的效果。盡管該類軟件在構(gòu)建效率及準確性上具有充分優(yōu)勢,但在光線環(huán)境的影響表達、模型細膩程度、動態(tài)配景模型、碰撞反饋、視角切換、沉浸式體驗等方面略遜一籌。
為此,本文將采用游戲引擎實現(xiàn)三維場景構(gòu)建和模擬技術(shù)[9],為充分利用游戲引擎精細逼真的沉浸式場景,采用UE4引擎導(dǎo)入道路模型,經(jīng)過材質(zhì)渲染后道路及場景更加真實,同時制作真實地形,其地形貼圖質(zhì)量更好,真實性更高,交互能力更強,并具有世界組合、LOD渲染等功能,對大地形的管理與渲染更為方便,在成果展現(xiàn)細膩程度、交互體驗上更有優(yōu)勢。
公路工程電子沙盤制作過程歷經(jīng)數(shù)據(jù)準備、地形導(dǎo)入、模型制作和成果輸出等階段,如圖1所示。項目基礎(chǔ)數(shù)據(jù)包括地形高程數(shù)據(jù)、DXF文件、貼圖數(shù)據(jù)等。沙盤制作時,首先須檢查地形的真實性、公路模型的完整性以及貼圖的正確性;其次預(yù)處理數(shù)據(jù)、計算UE4場景坐標(biāo)和真實坐標(biāo)系統(tǒng)的對應(yīng)關(guān)系,并導(dǎo)入UE4引擎,生成地形和公路模型;最后,配合UE4引擎的世界組合功能,便可輕松搭建并管理超大地形場景。
圖1 公路工程電子沙盤流程
電子沙盤的功能設(shè)計是要實現(xiàn)公路工程的成果融合和設(shè)計指標(biāo)的模擬,同時具備量算和一定的地形分析功能,如距離、面積、體積的量算和通視、剖面、淹沒的分析[10-12],旨在實現(xiàn)地形信息檢索(查詢?nèi)我饽车氐牡乩碜鴺?biāo)和海拔高度)、行駛模擬(交通工具在公路上的行駛模擬)、地物詳細表示(反映和實地一樣的地表形態(tài),植被、道路、橋梁、隧道、居民地)等功能,如圖2所示。
圖2 功能模塊設(shè)計
本研究應(yīng)用UE4引擎結(jié)合Visual Studio.NET開發(fā)環(huán)境,采用C++開發(fā)語言,搭建開發(fā)環(huán)境及相關(guān)插件包進行開發(fā)和功能實現(xiàn)。采用World Machine工具處理地形高程數(shù)據(jù)以及建筑紋理貼圖,將地形和建筑模型導(dǎo)入UE4引擎,再利用C++解決方案實現(xiàn)規(guī)劃電子沙盤的實際功能。開發(fā)過程中使用PathFollow插件解決讀取設(shè)計路線的坐標(biāo),生成與道路匹配的路徑軌跡,實現(xiàn)模擬駕駛功能,能夠真實地反映車輛在道路、橋梁、隧道中的行駛情況[13-14]。
1) 數(shù)據(jù)格式轉(zhuǎn)換
將地形高程數(shù)據(jù)轉(zhuǎn)換為高程柵格圖像通用格式(HF2/HFZ),查看并記錄此地形數(shù)據(jù)的元數(shù)據(jù),如地形的面積、長寬比、最大高程、最低高程等,根據(jù)長寬比和面積計算出地形的實際長寬。
2) 地形處理
利用World Machine地形處理軟件新建項目,主要參數(shù)設(shè)置如下:(1) 項目的長寬設(shè)為地形計算的長寬;(2) 地形垂直規(guī)模要大于地形的最大高度且是512的倍數(shù);(3) 分辨率建議設(shè)置為UE4推薦分辨率,導(dǎo)入UE4引擎后會調(diào)整到推薦分辨率,如表1所示。
新建File Input節(jié)點,導(dǎo)入HFZ地形文件,設(shè)置長寬為地形的長寬。新建Height Output節(jié)點連接File Input節(jié)點,導(dǎo)出指定格式RAW16高度圖。如果地形較大,可以分塊導(dǎo)出為多個高度圖來保證地形的精度。
表1 UE4推薦分辨率
3) 坐標(biāo)轉(zhuǎn)換及導(dǎo)入
由于UE4引擎以cm為單位,真實地形以m為單位,需要保證導(dǎo)入地形與真實地形單位相同,在不同的單位尺度和高程系統(tǒng)中,要明確Z軸方向高程的對應(yīng)關(guān)系,需要確定電子沙盤與現(xiàn)實真實地形之間的比例關(guān)系。設(shè)置準確的放縮倍數(shù)后導(dǎo)入地形,添加RAW16格式高度圖文件。放縮尺度計算如式(1):
(1)
式中:SMx、SMy、SMz均為真實準確的放縮倍數(shù);Lx、Ly分別為高程灰度圖在X/Y方向的實際尺寸,m;Ux、Uy分別為規(guī)則格網(wǎng)X/Y方向上的尺寸推薦值,取表1的推薦參數(shù);Hset為World Machine中設(shè)置的垂直規(guī)模。由于UE4引擎以cm為單位,真實地形以m為單位,公式中需乘以100換算單位。
UE4中設(shè)置總體分辨率為World Machine中設(shè)置的分辨率,此時會自動調(diào)整到相近的推薦分辨率。放縮倍數(shù)確定后,真實地形的坐標(biāo)與UE4坐標(biāo)可以根據(jù)固定的公式相互轉(zhuǎn)換,坐標(biāo)轉(zhuǎn)換如式(2),其中真實放縮倍數(shù)通過公式(1)中計算得到,放縮倍數(shù)是UE4實際設(shè)置的倍數(shù),如設(shè)置值與真實放縮倍數(shù)相同,則地形與真實地形規(guī)格相同。
(2)
式中:Xu、Yu、Zu均為場景中坐標(biāo);Xd、Yd、Zd均為真實地理坐標(biāo);Sx、Sy、Sz均為導(dǎo)入場景中實際設(shè)置的放縮倍數(shù)。綜合公式(1)可知,若UE4設(shè)置的放縮倍數(shù)值與真實放縮倍數(shù)值相同,則場景地形與真實地形規(guī)格相同。
導(dǎo)入地形的同時,創(chuàng)建并使用地形貼圖材質(zhì),將對應(yīng)的航片或衛(wèi)片作為表面貼圖。由于場景中單張貼圖最大只支持8 129×8 129分辨率的數(shù)據(jù),若需要構(gòu)建更大場景,需要采用世界組合功能??煞謮K導(dǎo)出高度圖,在一個文件夾中創(chuàng)建多個場景,每個場景導(dǎo)入一個塊地形,導(dǎo)入完成后,根據(jù)各個塊地形的位置關(guān)系,設(shè)置每個地形到正確的位置。選擇一個場景作為主場景,在軟件設(shè)置面板中勾選Enable World Composition,打開世界組合功能,將各個場景的塊地形加載到主場景。
在保證三維場景幾何分辨率滿足工程地圖比例尺的前提下,若導(dǎo)入的地形太大,為節(jié)約內(nèi)存,提升實時渲染效率,設(shè)置LOD參數(shù),通過修改SubSection Min Component ScreenSize、Desired Max Draw Distance等屬性,使得屏幕內(nèi)容顯示更詳細,適當(dāng)調(diào)整繪制距離,實現(xiàn)提高加載及渲染速度。
準備好地形基礎(chǔ)場景后,開始搭建交通行業(yè)相關(guān)地物,主要集成道路、橋梁、隧道、交通設(shè)施、周邊配景等各類模型。
道路模型主要包含道路、橋梁、隧道等設(shè)計模型,為保證真實度,直接對接BIM設(shè)計模型。BIM設(shè)計過程是在工程設(shè)計軟件中實現(xiàn),并轉(zhuǎn)換為通用的三維格式,在UE4場景中進行位置轉(zhuǎn)換、貼圖紋理材質(zhì)處理、碰撞屬性的設(shè)置等模型的優(yōu)化處理。與此同時,BIM所體現(xiàn)的模型信息不僅包含描述建筑物構(gòu)件的幾何信息、專業(yè)屬性及狀態(tài)信息,還包含了非構(gòu)件對象(如空間、運動行為)的狀態(tài)信息。采用AutoCAD Civil 3D、Revit和Bentley OpenRoads Designer等道路BIM設(shè)計軟件,設(shè)計道路、橋梁、隧道等模型并導(dǎo)入到UE4地形場景中,保證交通模型的真實比例,準確表達未來實際施工后的真實效果。
交通設(shè)施模型包含交通機電、交通標(biāo)志、標(biāo)牌標(biāo)線、柵欄、公交站、垃圾桶等,可采用3D Max制作或使用通用的路標(biāo)、柵欄、公交站、垃圾桶、路邊巖石等三維模型,轉(zhuǎn)為FBX格式導(dǎo)入到UE4地形場景中。
配景模型包含周邊房屋、水系、植被、路邊巖石等模型。利用UE4所提供的插件工具,如應(yīng)用SpeedTree插件制作植物模型,準備花草樹木的透明圖片(PNG或者TGA格式)作為素材,調(diào)整參數(shù)使植被分布均勻,導(dǎo)入素材圖片,為植被貼圖制作一些法線高光貼圖,添加適當(dāng)風(fēng)力,模擬現(xiàn)場實際動態(tài)效果,并導(dǎo)入到UE4地形場景中。將所有模型集成,地物模型效果圖如圖3所示。
圖3 地物模型效果圖
BIM對設(shè)計成果的要求不僅應(yīng)有外形尺寸,還應(yīng)有相關(guān)的屬性信息。其中地物屬性查詢和空間坐標(biāo)顯示也是必要功能,這些方面都可通過編輯關(guān)卡藍圖的方法來實現(xiàn),如圖4所示。如實現(xiàn)地形坐標(biāo)信息檢索,可利用公式(2)計算出地形坐標(biāo)及海拔高度,查詢相應(yīng)坐標(biāo)位置的地物及信息。
圖4 空間坐標(biāo)查詢藍圖
1) 數(shù)據(jù)準備
將道路上車輛行駛軌跡坐標(biāo)輸出為表格數(shù)據(jù)CSV格式,數(shù)據(jù)結(jié)構(gòu)如表2所示。
表2 路線軌跡坐標(biāo)數(shù)據(jù)
2) 制作路徑
(1) 藍圖實現(xiàn)
新建結(jié)構(gòu)體,編輯結(jié)構(gòu)與表2數(shù)據(jù)結(jié)構(gòu)保持一致,導(dǎo)入CSV數(shù)據(jù);新建繼承自Actor的藍圖類,添加SpLine組件;編輯藍圖,在藍圖構(gòu)造函數(shù)中通過Get Data Table Column as String節(jié)點讀取結(jié)構(gòu)表中的數(shù)據(jù),并通過循環(huán)將點添加到路徑上。路徑藍圖如圖5所示。
(2) C++實現(xiàn)
新建繼承自Actor的C++類,在構(gòu)造函數(shù)中添加SpLine組件;新增函數(shù)讀取路線CSV數(shù)據(jù)至字符串中,解析字符串;調(diào)用GetCSVDataToMap函數(shù),將返回的路徑點數(shù)組設(shè)置到車輛軌跡路徑上,并初始化路徑。
圖5 路徑藍圖
3) 模擬運動
(1) 藍圖實現(xiàn)
新建繼承自Actor的藍圖類;添加骨骼模型組件和PathFollow組件,在骨骼模型組件上添加交通工具模型;將模型Actor和路徑Actor添加至場景中,在PathFollow組件上設(shè)置跟隨對象為路徑Actor;根據(jù)需要設(shè)置運動速度、循環(huán)等屬性。
(2) C++實現(xiàn)
新建繼承自Actor的C++類;在構(gòu)造函數(shù)中添加骨骼模型組件和PathFollow組件,并為骨骼模型組件添加交通工具模型;重寫父類函數(shù)BeginPlay(),模擬開始時在場景中實例化一條路徑,并調(diào)用路徑Actor的Init函數(shù)初始化路徑;調(diào)用UPFPathFollowerComponent中的SetPathOwner函數(shù),設(shè)置跟隨對象的路徑;根據(jù)需要設(shè)置速度、循環(huán)等屬性,調(diào)用Start函數(shù)開始模擬交通工具的運動狀態(tài)。
在編輯器新增動畫藍圖,為汽車模型添加動畫,實現(xiàn)車輪的轉(zhuǎn)動和轉(zhuǎn)向、切換駕駛員視角、從駕駛員的角度驗證公路的設(shè)計指標(biāo)、有無遮擋、在不同季節(jié)、不同時間點的光照環(huán)境對駕車的影響,模擬以后真實環(huán)境中的駕車體驗。
應(yīng)用以上的研究及操作過程,集成交通行業(yè)關(guān)注的模型及功能,完成公路工程電子沙盤的構(gòu)建,所有交通相關(guān)的要素集成到場景中,將項目成品歸檔,打包導(dǎo)出可獨立運行的程序。電子沙盤效果圖如圖6所示。
圖6 電子沙盤效果圖
本文研究內(nèi)容在忠縣州屏組團交通數(shù)字模型制作項目中得到應(yīng)用,取得良好的展現(xiàn)和交互效果,具有良好的實用性,集成了交通要素各構(gòu)造物的信息,如路基、路面、橋梁、涵洞、隧道、排水系統(tǒng)、安全防護設(shè)施、綠化和交通監(jiān)控等設(shè)施,展現(xiàn)出其獨特的區(qū)位特點和交通規(guī)劃組織方案。
在傳統(tǒng)電子沙盤制作的技術(shù)路線基礎(chǔ)上,應(yīng)用具有逼真交互為特性的游戲引擎制作公路工程電子沙盤,從交互游戲的視角體現(xiàn)公路設(shè)計成果,更容易普及推廣。同時,在電子沙盤的基礎(chǔ)中,加入管理和維護單位的工作業(yè)務(wù),融合各個部門的業(yè)務(wù)流程,可直接升級到虛擬現(xiàn)實技術(shù)的信息化管理平臺,在模擬仿真與管理方面,都有很好的應(yīng)用點,較傳統(tǒng)方式更智能、更精確。該電子沙盤展現(xiàn)方式還可用于交通管理,可提高管理的效率和質(zhì)量,從而獲得更好的社會經(jīng)濟管理效益,可廣泛用于城市規(guī)劃設(shè)計及管理領(lǐng)域。
本文將基于UE4引擎構(gòu)建公路工程電子沙盤,擴展為電子沙盤立體式、互動性、多元化的展現(xiàn)形式,將傳統(tǒng)的二維展示方式和三維靜態(tài)模型方式升級為三維動態(tài)數(shù)字虛擬模式,無論是從視覺,還是立體逼真效果,都帶來一種全新化的互動式體驗。這種創(chuàng)新服務(wù)應(yīng)用極大驗證了公路工程設(shè)計的精準度和設(shè)計效果,能夠充分動態(tài)表達設(shè)計意圖和成果。公路工程電子沙盤的應(yīng)用必將推進交通設(shè)計與管理的創(chuàng)新和發(fā)展,將科技虛擬展覽、展示形式與傳統(tǒng)的信息傳播載體相融合,在未來諸多領(lǐng)域必定都會得到升級與應(yīng)用。