孫 斌,劉 斌,武健超,王 凡
(1.中水北方勘測(cè)設(shè)計(jì)研究有限責(zé)任公司,天津 300222;2.廣西大藤峽水利樞紐開發(fā)有限責(zé)任公司,廣西 桂平 530000)
隨著水利行業(yè)數(shù)字孿生流域及數(shù)字孿生工程的提出,可視化模型承接數(shù)據(jù)底板、監(jiān)測(cè)數(shù)據(jù)、水利專業(yè)模型、智能識(shí)別模型,構(gòu)建流域、工程可視化場(chǎng)景,滿足仿真模擬和綜合展示需要。目前,具備利用數(shù)據(jù)底板構(gòu)建可視化場(chǎng)景能力的引擎有:GIS引擎、游戲引擎及BIM引擎。GIS引擎,具備構(gòu)建超大場(chǎng)景的能力,自帶地理坐標(biāo)體系,能快速加載場(chǎng)景,實(shí)現(xiàn)空間測(cè)量、空間分析等功能。游戲引擎,具備構(gòu)建高仿真效果場(chǎng)景能力,利用高渲染引擎及物理引擎能夠提升用戶在三維地理信息上的視覺體驗(yàn)。而BIM引擎,僅能利用BIM模型構(gòu)建局部場(chǎng)景,在數(shù)字孿生中應(yīng)用有限[1]。綜上,在數(shù)字孿生的可視化場(chǎng)景建設(shè)中,主要依托GIS引擎和游戲引擎作為可視化場(chǎng)景建設(shè)的基本建設(shè)工具。在實(shí)際的數(shù)字孿生工程建設(shè)過程中,也確實(shí)是2種引擎共同使用。實(shí)踐中,在不同的業(yè)務(wù)應(yīng)用中,選用適合的引擎進(jìn)行開發(fā),但并不是一個(gè)系統(tǒng)自始至終只用一種引擎,而需要根據(jù)場(chǎng)景進(jìn)行不同引擎之間的切換,這就要求在開發(fā)過程中實(shí)現(xiàn)GIS引擎與游戲引擎之間的切換、調(diào)用[2]。
針對(duì)數(shù)字孿生平臺(tái)可視化的需求,建立可視化模型引擎,以數(shù)字高程模型、衛(wèi)星遙感影像、無人機(jī)正射影像、無人機(jī)傾斜攝影、BIM模型、基礎(chǔ)地理數(shù)據(jù)、監(jiān)測(cè)及業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)底板作為基礎(chǔ),通過建立工程級(jí)數(shù)字孿生可視化場(chǎng)景,對(duì)工程的結(jié)構(gòu)、外部形狀、設(shè)備設(shè)施及其周邊環(huán)境進(jìn)行三維展示,以立體方式呈現(xiàn)數(shù)字孿生工程及影響區(qū)域真實(shí)場(chǎng)景,并結(jié)合數(shù)字化技術(shù)、可視化組件,提供完整的、與實(shí)際情況一致的工程數(shù)據(jù)展示,同時(shí)結(jié)合水利數(shù)據(jù)模型計(jì)算過程及結(jié)果,進(jìn)行仿真模擬,為“四預(yù)”模擬提供場(chǎng)景支撐[3]。
GIS引擎下的場(chǎng)景建設(shè)主要依托遙感影像、數(shù)字高程模型、傾斜攝影模型等構(gòu)建流域級(jí)場(chǎng)景。場(chǎng)景具備真實(shí)坐標(biāo)系統(tǒng),真實(shí)反映空間對(duì)象的空間位置、形狀及紋理信息,能夠進(jìn)行三維空間分析和操作,具有獨(dú)特的復(fù)雜空間對(duì)象管理能力及空間分析能力,能夠?qū)⒌乩硇畔恼鎸?shí)世界更精準(zhǔn)、具體地映射到虛擬世界。在防汛與水量調(diào)度“四預(yù)”平臺(tái)即采用GIS引擎構(gòu)建流域級(jí)的可視化場(chǎng)景,為“四預(yù)”提供可視化支撐。
當(dāng)前主流的游戲引擎為Unity和Unreal,通過利用BIM模型、實(shí)景模型、遙感影像等數(shù)據(jù)底板構(gòu)建三維場(chǎng)景,并對(duì)場(chǎng)景中模型數(shù)據(jù)添加材質(zhì)、動(dòng)畫、光影效果等,能夠高仿真地還原工程場(chǎng)景,實(shí)現(xiàn)工程運(yùn)行模擬[4]。但在場(chǎng)景建設(shè)過程中為達(dá)到最優(yōu)的顯示效果,需要大量的時(shí)間進(jìn)行模型處理、材質(zhì)調(diào)整、UV展面及動(dòng)畫特效處理。
為支撐不同水利業(yè)務(wù)應(yīng)用和不同用戶對(duì)可視化場(chǎng)景的需求,須采用2種引擎支撐不同尺度的場(chǎng)景表達(dá)。利用三維地理空間數(shù)據(jù)來塑造虛擬3D環(huán)境的性能為地理應(yīng)用打開了多種可能性。但這些數(shù)據(jù)源的文件格式不是標(biāo)準(zhǔn)化的,游戲引擎僅支持有限數(shù)量的文件格式,將地理空間數(shù)據(jù)應(yīng)用于游戲引擎構(gòu)建的虛擬3D環(huán)境時(shí),通常需要對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換。通過游戲引擎構(gòu)建網(wǎng)絡(luò)三維應(yīng)用時(shí),在三維仿真場(chǎng)景中加載龐大的靜態(tài)資源,會(huì)造成較大的網(wǎng)絡(luò)數(shù)據(jù)傳輸壓力,繼而對(duì)可視化產(chǎn)生負(fù)面影響。因此,平臺(tái)采用GIS引擎提供流域大尺度場(chǎng)景,采用游戲引擎提供工程精細(xì)化場(chǎng)景。為確保不同尺度場(chǎng)景的精確融合,而開發(fā)出場(chǎng)景快速變換控制技術(shù)。
與GIS引擎的大地坐標(biāo)系統(tǒng)相對(duì)應(yīng),在游戲引擎中加入坐標(biāo)系統(tǒng),以場(chǎng)景視點(diǎn)坐標(biāo)、場(chǎng)景尺度、視角為場(chǎng)景特征向量。
初始場(chǎng)景特征參數(shù)向量為A:
A=[x,y,z,1]T
(1)
式中,Rx—變化過程x方向旋轉(zhuǎn)變換矩陣;Ry—變化過程y方向旋轉(zhuǎn)變換矩陣;Rz—變化過程z方向旋轉(zhuǎn)變換矩陣;θx—變化過程x方向旋轉(zhuǎn)角度;θy—變化過程y方向旋轉(zhuǎn)角度;θz—變化過程z方向旋轉(zhuǎn)角度;
通過對(duì)不同場(chǎng)景特征參數(shù)向量的投影分析,可求解變換矩陣TranM。提前設(shè)置場(chǎng)景切換的觸發(fā)條件,一旦滿足該條件,即對(duì)變換矩陣進(jìn)行求解。作用于初始特征向量,實(shí)現(xiàn)變換。
式中,A—初始場(chǎng)景特征參數(shù)向量;x—初始場(chǎng)景x向坐標(biāo);y—初始場(chǎng)景y向坐標(biāo);z—初始場(chǎng)景高度;
目標(biāo)場(chǎng)景特征參數(shù)向量為A’,表達(dá)式為:
A’=[x’,y’,z’,1]T
(2)
引入正交矩陣TranM作為場(chǎng)景變換矩陣,TranM可表達(dá)為:
TranM=TSR
(3)
其中:
(1)T為平移變換矩陣,可表達(dá)為:
(4)
式中,Translation.x—變換過程x方向平移距離;Translation.y—變換過程y方向平移距離;Translation.z—變換過程z方向平移距離。
(2)S為縮放變換矩陣,可表達(dá)為:
(5)
式中,Scale.x—變換過程x方向縮放系數(shù);Scale.y—變換過程y方向縮放系數(shù);Scale.z—變換過程z方向縮放系數(shù);
(3)R為旋轉(zhuǎn)變換矩陣,可表達(dá)為:
(6)
將變換矩陣TranM作用于初始場(chǎng)景特征參數(shù)向量,可表達(dá)為:
A’=TranMA
(7)
通過矩陣運(yùn)算實(shí)現(xiàn)從初始場(chǎng)景到目標(biāo)場(chǎng)景的特征參數(shù)向量轉(zhuǎn)換,從而實(shí)現(xiàn)GIS引擎、游戲引擎場(chǎng)景畫面的統(tǒng)一和精確融合。該算法相當(dāng)于按照“旋轉(zhuǎn)-縮放-平移”的順序,依次對(duì)不同尺度場(chǎng)景的視角、尺度、坐標(biāo)進(jìn)行切換。但是通過矩陣運(yùn)算,把5次場(chǎng)景變換運(yùn)算合并為1次變換,可以節(jié)省大量計(jì)算資源,降低系統(tǒng)延遲,極大地提高響應(yīng)速度。使得游戲引擎的應(yīng)用、GIS場(chǎng)景與游戲場(chǎng)景精確融合應(yīng)用成為可能。
廣西大藤峽水利樞紐工程,位于珠江流域西江水系黔江干流,集防洪、航運(yùn)、發(fā)電、水資源配置、灌溉等綜合效益于一體,是珠江流域關(guān)鍵控制性水利樞紐[5]。自2022年進(jìn)行數(shù)字孿生工程建設(shè)以來,可視化場(chǎng)景采用GIS與游戲引擎結(jié)合的雙引擎模式建設(shè)方案,通過對(duì)數(shù)據(jù)融合處理及不同引擎的融合,既實(shí)現(xiàn)了數(shù)字孿生工程流域大場(chǎng)景多源要素的表達(dá),又精細(xì)化呈現(xiàn)了樞紐工程區(qū)域場(chǎng)景,并達(dá)到從GIS引擎到游戲引擎場(chǎng)景無縫切換的目的。上述技術(shù)在防洪與水量調(diào)度“四預(yù)”系統(tǒng)、工程安全風(fēng)險(xiǎn)與健康評(píng)估系統(tǒng)等建設(shè)中加以應(yīng)用,基于可視化平臺(tái)提供的基礎(chǔ)數(shù)據(jù)、可視化場(chǎng)景和仿真模擬功能,對(duì)調(diào)度方案進(jìn)行預(yù)演,快速確定淹沒面積和淹沒損失,精準(zhǔn)研判調(diào)度時(shí)機(jī)和控泄流量,為科學(xué)決策提供支撐[6-7]。
研究給出了雙引擎下場(chǎng)景融合、切換的技術(shù)方案,實(shí)現(xiàn)通過GIS引擎對(duì)大流域場(chǎng)景進(jìn)行可視化展示,通過游戲引擎對(duì)工程局部場(chǎng)景進(jìn)行精細(xì)化表達(dá),且實(shí)現(xiàn)了從流域GIS場(chǎng)景到局部游戲引擎場(chǎng)景的無縫切換。通過合理地使用場(chǎng)景切換方案,使得業(yè)務(wù)應(yīng)用調(diào)用場(chǎng)景更便利,而按需調(diào)用游戲引擎場(chǎng)景,降低了占用游戲引擎場(chǎng)景渲染服務(wù)器資源,增加了系統(tǒng)應(yīng)用的可用性與靈活性。但此方案,由于游戲引擎本身不具備坐標(biāo)系,因此,需要根據(jù)精細(xì)場(chǎng)景自定義坐標(biāo)系,或利用插件添加坐標(biāo)系。這導(dǎo)致有些情況下,場(chǎng)景坐標(biāo)并不準(zhǔn)確。利用轉(zhuǎn)換矩陣轉(zhuǎn)換后的坐標(biāo)與游戲引擎場(chǎng)景坐標(biāo),存在細(xì)微的誤差,只有不斷優(yōu)化轉(zhuǎn)換矩陣,才能實(shí)現(xiàn)2個(gè)引擎下場(chǎng)景視角的統(tǒng)一。未來,可在充分測(cè)試基礎(chǔ)上,對(duì)其精確性及有效性進(jìn)行驗(yàn)證與調(diào)整,為同類應(yīng)用提供借鑒與參考