楊 一
(四川交通勘察設(shè)計(jì)研究院有限公司, 四川 成都 610000)
BIM 以三維數(shù)字技術(shù)為基礎(chǔ),集成了工程建設(shè)項(xiàng)目各種相關(guān)信息的工程數(shù)據(jù)模型,是對建筑工程物理特征和功能特性信息的數(shù)字化承載和可視化表達(dá)[1],對項(xiàng)目進(jìn)行設(shè)計(jì)、建造和運(yùn)營管理,將各種工程信息組織成一個(gè)整體,貫穿于工程全生命周期過程[2]。
可視化表現(xiàn)一直都是工程設(shè)計(jì)領(lǐng)域的重要表現(xiàn)形式。如今隨著游戲引擎和虛擬現(xiàn)實(shí)技術(shù)迅速發(fā)展,更加提升工程可視化設(shè)計(jì)的體驗(yàn)效果[3]。本文以《汶川至馬爾康高速公路汶川樞紐互通式立交BIM 咨詢服務(wù)項(xiàng)目》為例,通過BIM 設(shè)計(jì)、場景整合、游戲模擬、VR 體驗(yàn),探索公路工程項(xiàng)目BIM 與游戲引擎可視化交互應(yīng)用流程。
本項(xiàng)目承擔(dān)在建的汶川-馬爾康高速公路一期主體工程、汶川-九寨溝高速公路二期工程以及汶川-成都、成都-汶川方向兩條落地匝道變更工程,根據(jù)現(xiàn)有設(shè)計(jì)、變更圖紙,建立面向統(tǒng)籌管理的BIM 模型,反映所有互通、道路、橋梁、標(biāo)志標(biāo)牌、收費(fèi)站及其他重要結(jié)構(gòu)物設(shè)施的精確位置和工程基本信息,模擬按現(xiàn)有圖紙施工后的實(shí)際結(jié)果,發(fā)現(xiàn)可能存在的問題。
當(dāng)前主流游戲引擎是Unity 和Unreal,開發(fā)包多,軟件操作簡單,3D 圖形處理性能優(yōu)秀,可擴(kuò)展性強(qiáng)[4]。但由于BIM 建模軟件與Unity 和Unreal游戲引擎之間交互過程中,需大量時(shí)間對模型、材質(zhì)、動(dòng)畫進(jìn)行反復(fù)調(diào)整和優(yōu)化。作為數(shù)字制作軟件領(lǐng)域的No.1,Autodesk 公司推出了一款新的游戲制作引擎Stingray,實(shí)現(xiàn)BIM 模型到游戲引擎一整套的無縫解決方案[5]。因此本項(xiàng)目擬運(yùn)用同為Autodesk 平臺(tái)下的BIM 建模軟件及Stingray 引擎來探索BIM 設(shè)計(jì)與游戲引擎可視化交互應(yīng)用流程。
首先運(yùn)用Autodesk Civil3D 創(chuàng)建互通道路模型,Revit 創(chuàng)建橋梁及其他重要結(jié)構(gòu)物模型,導(dǎo)入到Infraworks 中進(jìn)行模型整合,建立汶馬高速主線、互通匝道、附屬設(shè)施在內(nèi)的BIM 模型。模型建立后,可準(zhǔn)確檢查高程、凈空、路基邊坡干擾、路橋及其重要附屬結(jié)構(gòu)物碰撞沖突、相互影響的各種問題,以快速進(jìn)行方案溝通和調(diào)整。模型效果見圖1。
圖1 BIM 模型效果圖
創(chuàng)建BIM 模型后,運(yùn)用3Dmax 對場景、模型、材質(zhì)進(jìn)行調(diào)整和優(yōu)化,為導(dǎo)入游戲引擎做好前期準(zhǔn)備。在Infraworks 中按地形、道路、結(jié)構(gòu)物、標(biāo)線、輔助設(shè)施等類別分別導(dǎo)出FBX 模型,導(dǎo)入到3Dmax 中。
2.2.1 場景整理
導(dǎo)入BIM 模型后,首先對場景進(jìn)行整理,主要包括單位匹配、坐標(biāo)設(shè)置、模型合并、材質(zhì)分類、測試渲染等工作,以檢查模型及優(yōu)化場景資源,提升后續(xù)渲染效率。
2.2.2 模型處理
由于軟件之間構(gòu)建及計(jì)算方式不同,BIM 模型導(dǎo)入到3Dmax 中后,模型存在斷點(diǎn)重面、法線反向、高程錯(cuò)位、道路斷道等問題,需運(yùn)用編輯多邊形工具對模型的點(diǎn)、線、面處理,逐一修復(fù)。
2.2.3 材質(zhì)調(diào)整
從Infraworks 導(dǎo)入的模型都保留了材質(zhì),但貼圖大小及位置不準(zhǔn)確,需運(yùn)用UVW 貼圖工具進(jìn)行調(diào)整。另外場景的地形影像材質(zhì)需運(yùn)用Photoshop 進(jìn)行合成和調(diào)色處理,確保協(xié)調(diào)統(tǒng)一。
2.2.4UV 展開
由于游戲引擎采用實(shí)時(shí)渲染方式,需進(jìn)行燈光烘焙,把模型光照的明暗信息預(yù)先保存到紋理上,提升模型的光影效果及游戲的運(yùn)行速度。因此在3Dmax 中須對場各模型進(jìn)行UV 展開,UV 展開的好壞將決定了烘焙貼圖的分辨率或細(xì)節(jié)。至此基本完成模型場景整合工作。
Stingray 為一款支持可視化多平臺(tái)研發(fā)的3D 渲染引擎,能與3Dmax幾乎無縫鏈接,快速實(shí)時(shí)展現(xiàn)場景中材質(zhì)、燈光、效果,并提供強(qiáng)大的可視化編程功能。
2.3.1 場景導(dǎo)入
3Dmax 模型整合完成后,在菜單欄中選擇Stingray,勾選Connect,點(diǎn)擊Send all,即可將場景中所有模型、材質(zhì)完整導(dǎo)入到Stingray 游戲引擎中。
2.3.2 環(huán)境設(shè)置
在模型、材質(zhì)導(dǎo)入完成后,創(chuàng)建游戲場景的環(huán)境、背景、燈光。本項(xiàng)目體現(xiàn)白天晴天氛圍,設(shè)置背景為藍(lán)天白云,燈光為暖色,調(diào)整好場景的全局反折射、陰影屬性,保證場景整體具有較好的光影效果。
2.3.3 燈光烘焙
燈光烘焙好壞直接影響游戲運(yùn)行體驗(yàn)效果。這里不斷進(jìn)行現(xiàn)燈光烘焙測試,并反復(fù)調(diào)整UV 形態(tài)、燈光屬性及材質(zhì)參數(shù),進(jìn)行最終燈光烘焙。至此基本完成游戲場景的渲染設(shè)置。
2.3.4 添加物理角色
在游戲引擎中,場景中物體相互之間是存在碰撞關(guān)系的。因此對場景中的地形、道路、護(hù)欄、橋梁等結(jié)構(gòu)物,添加物理角色(Physics Actor),設(shè)置物理類型為靜態(tài),形狀類型為網(wǎng)格,確保能與汽車發(fā)生真實(shí)的碰撞效果。
Stingray 創(chuàng)建游戲場景之后,將通過編制程序腳本創(chuàng)建游戲世界,實(shí)現(xiàn)游戲模擬及用戶交互。游戲行車模擬效果見圖2。
2.4.1 編制游戲引導(dǎo)腳本
首先對游戲運(yùn)行的引導(dǎo)腳本進(jìn)行編制,主要包括引導(dǎo)包(Boot)、系統(tǒng)設(shè)置(Settings)、物理系統(tǒng)(Physics_Properties)、引導(dǎo)文件(Main),完成腳本引導(dǎo),資源加載、渲染配置、物理屬性、用戶界面等配置。
2.4.2 編制游戲管理腳本
然后將對游戲運(yùn)行的管理腳本模塊進(jìn)行編制。本項(xiàng)目運(yùn)用SimpleProject 模板的Appkit 對象提供的內(nèi)置應(yīng)用程序管理游戲配置。主要包括世界(World)、場景(Level)、攝像機(jī)(Camera Unit)、Player(玩家)、Config(配置),完成游戲世界中各關(guān)鍵對象的定義和描述,并對游戲場景進(jìn)行初始化。
2.4.3 編制游戲汽車模擬腳本
完成上述工作后,在游戲世界中創(chuàng)建汽車,通過腳本控制,對汽車的類型、速度、受力、位置、方向、物理碰撞等屬性進(jìn)行初始化配置,完成汽車在場景中的加載,實(shí)現(xiàn)在本場景模型中進(jìn)行可視化行車模擬。
2.4.4 編制游戲攝像機(jī)運(yùn)動(dòng)腳本
游戲世界中,攝像機(jī)鏡頭及運(yùn)動(dòng)決定整個(gè)游戲運(yùn)行和體驗(yàn)的效果。這里對攝像機(jī)的類型、視野、朝向、位置、角度、偏移速度等進(jìn)行初始化配置。然后需建立攝像機(jī)與汽車的鏈接關(guān)系,保證攝像機(jī)能跟隨汽車運(yùn)動(dòng)。
2.4.5 制作UI
游戲主程序腳本編制完成之后,將對游戲運(yùn)行用戶界面進(jìn)行整體設(shè)計(jì)。Stingray 軟件中集成了Scaleform 插件,通過該插件自定義用戶界面,包括主菜單和用戶選項(xiàng)2 個(gè)部分,可選擇不同的汽車和不同的初始位置進(jìn)行游戲模擬體驗(yàn)。至此,基本完成BIM 設(shè)計(jì)與游戲引擎可視化交互應(yīng)用工作。
圖2 游戲行車模擬效果圖
通過將BIM 信息模型完整導(dǎo)入到游戲引擎中進(jìn)行可視化交互行車模擬,可進(jìn)一步驗(yàn)證道路、橋梁、匝道之間存在的設(shè)計(jì)問題,而且能更清晰判斷本項(xiàng)目的路線走向、行車視線、駕駛安全、標(biāo)牌設(shè)施是否合理,并直觀感受周邊的地形、建筑、水域、景觀、綠化等信息,為業(yè)主、設(shè)計(jì)單位、施工單位、監(jiān)理單位等各項(xiàng)目參與方對整體建設(shè)方案提供可靠決策。
在完成BIM 模型+游戲引擎實(shí)現(xiàn)行車可視化交互模擬之后,運(yùn)用stingray 游戲引擎與VR 虛實(shí)現(xiàn)實(shí)技術(shù)相結(jié)合,實(shí)現(xiàn)更真實(shí)的可視化體驗(yàn)效果。
2.5.1 創(chuàng)建VR 虛擬環(huán)境
Stingray 中自帶VR 模板,本項(xiàng)目選擇HTC Vive 設(shè)備體驗(yàn),創(chuàng)建SteamVR 模板,通過腳本初始化VR 虛擬環(huán)境,主要包括加載SteamVR 腳本和HTC Vive VR 設(shè)備的鏈接接口。
2.5.2 鏈接VR 虛擬環(huán)境與游戲場景
VR 虛擬世界初始化完成后,通過VR Flow Nodes 可視化編程節(jié)點(diǎn)結(jié)合SteamVR 腳本的輸入、鏈接、設(shè)備、以及跟蹤空間節(jié)點(diǎn),將VR 虛實(shí)世界跟蹤空間映射到已創(chuàng)建的游戲場景世界中。
2.5.3 調(diào)整VR 游戲世界運(yùn)行效果
將游戲場景添加到VR 世界后,需配置VR 視點(diǎn)與攝像機(jī)的銜接以及VR 游戲畫面更新速度,通過不斷調(diào)整節(jié)點(diǎn)各項(xiàng)參數(shù)實(shí)現(xiàn)VR 游戲世界正確的用戶視口及較好的實(shí)時(shí)渲染畫面。至此基本完成本項(xiàng)目VR 可視化交互式行車模擬體驗(yàn)。
游戲引擎+VR 的行車模擬,無縫集成了BIM 設(shè)計(jì)成果,挖掘出BIM模型中更多的數(shù)據(jù)和更精的細(xì)節(jié),使交通基礎(chǔ)設(shè)施行業(yè)工程可視化應(yīng)用水平更上一個(gè)臺(tái)階,大大提升了公路工程項(xiàng)目建設(shè)在前期及設(shè)計(jì)階段的信息管理、信息溝通能力。
本文通過《汶川至馬爾康高速公路汶川樞紐互通式立交BIM 咨詢服務(wù)項(xiàng)目》,運(yùn)用Autodesk 軟件平臺(tái)對公路工程項(xiàng)目BIM 設(shè)計(jì)與游戲引擎可視化交互應(yīng)用流程進(jìn)行了探索應(yīng)用研究,實(shí)現(xiàn)了BIM 模型在游戲平臺(tái)中的行車模擬及VR 體驗(yàn),對提高項(xiàng)目方案溝通效率,降低項(xiàng)目建設(shè)風(fēng)險(xiǎn)具有一定價(jià)值。今后將在游戲運(yùn)行優(yōu)化、可視化交互拓展、VR 場景渲染效果等方面進(jìn)一步加強(qiáng)應(yīng)用研發(fā)工作,形成一套完整的BIM+游戲可視化交互應(yīng)用流程。