(1.浙江耀廈控股集團(tuán)有限公司,杭州 310000; 2.浙江大學(xué)建筑工程學(xué)院,杭州 310058)
伴隨著信息技術(shù)的不斷進(jìn)步,施工管理的信息化程度日益發(fā)達(dá),在施工成本、質(zhì)量、進(jìn)度和安全的控制等方面也得到了長足的發(fā)展。繼住房和城鄉(xiāng)建設(shè)部在《關(guān)于推進(jìn)建筑業(yè)發(fā)展和改革的若干意見》中明確提出“推進(jìn)建筑信息模型(BIM)等信息技術(shù)在工程設(shè)計、施工和運(yùn)行維護(hù)全過程的應(yīng)用,提高綜合效益”,BIM技術(shù)近年來在建設(shè)工程中的應(yīng)用逐漸走向成熟,在工程信息管理[1]、施工場地動態(tài)布置[2]、施工成本控制[3]等方面的應(yīng)用大大提高了施工管理效率。
為進(jìn)一步滿足施工現(xiàn)場可視化的需求,幫助工程管理者更好地進(jìn)行項(xiàng)目決策和現(xiàn)場管理、為工人提供高效的崗前培訓(xùn)與安全教育,虛擬現(xiàn)實(shí)技術(shù)(VR)與BIM技術(shù)的結(jié)合應(yīng)用成為當(dāng)下的研究熱點(diǎn)。Unity3d是一款綜合性VR開發(fā)平臺,能夠?qū)崿F(xiàn)與BIM的高效對接,開發(fā)者能夠通過編寫C#腳本來實(shí)現(xiàn)不同的VR交互體驗(yàn)。以Unity3d為平臺的虛擬仿真已經(jīng)在裝飾[4]、測繪[5]、礦山[6]、船舶[7]方面進(jìn)行了相關(guān)開發(fā)與應(yīng)用,并取得了不錯的效果。
在施工領(lǐng)域VR的應(yīng)用仍處于起步階段,多數(shù)仍采用動畫渲染或功能固定的商用模板化VR軟件,交互體驗(yàn)不足,應(yīng)用效果也會大打折扣。杭州市上城區(qū)體育中心大跨鋼桁架整體提升工程具有工序復(fù)雜、操作要求高、安全隱患多等特點(diǎn),故對VR系統(tǒng)的交互性要求較高。
本文針對該工程研究了BIM+Unity3D的大型鋼結(jié)構(gòu)虛擬施工仿真系統(tǒng),并成功進(jìn)行了工程應(yīng)用,有效提高了施工效率、保障了施工過程中的質(zhì)量與安全。
杭州上城區(qū)體育中心為疊合式的體育綜合場館,主體結(jié)構(gòu)為框架—剪力墻結(jié)構(gòu),局部鋼結(jié)構(gòu)。體育中心五層和九層分別為水球館和籃球館,樓蓋為鋼桁架結(jié)構(gòu),下部設(shè)混凝土看臺。鋼桁架樓蓋由六榀大跨度鋼桁架和聯(lián)系鋼梁組成,跨度39.2m,寬度33.2m,高4.1m。該大跨鋼桁架自重達(dá)390多t,經(jīng)有限元分析計算,跨中最大變形約為8mm。經(jīng)專家論證,采用先在混凝土樓面進(jìn)行樓蓋的拼裝,然后利用液壓提升系統(tǒng)將鋼桁架樓蓋整體提升到位的方法進(jìn)行施工,如圖1所示。
圖1 鋼桁架樓蓋整體提升施工
圖2 系統(tǒng)的實(shí)現(xiàn)流程
該大跨鋼桁架共設(shè)置12個提升吊點(diǎn),并在安裝位置上一層搭建提升平臺、安裝液壓提升設(shè)備。在液壓提升施工過程中需要嚴(yán)格保證不同提升吊點(diǎn)的同步性,要求各吊點(diǎn)與控制吊點(diǎn)間的高差控制在±20mm。當(dāng)鋼絞線的斜度大于1°時,需暫停提升,并通過鋼絲繩將結(jié)構(gòu)四角與鄰近主體結(jié)構(gòu)臨時連接,起到限制水平擺動。此外,液壓油缸以及液壓同步控制設(shè)備也需要合理的現(xiàn)場布置從而把控整個施工過程。由于環(huán)境因素復(fù)雜,操作要求高、安全隱患多,故需要提高施工交底質(zhì)量并逐一排查隱患、發(fā)現(xiàn)問題,以保障該大跨鋼桁架結(jié)構(gòu)液壓提升的順利進(jìn)行。
該大型鋼結(jié)構(gòu)虛擬施工仿真系統(tǒng)的實(shí)現(xiàn)主要包括三維模型的導(dǎo)入、場景元素的渲染、交互指令的添加、操作界面的設(shè)計和系統(tǒng)的發(fā)布五個流程,如圖2所示。
調(diào)取已有的體育中心BIM模型,考慮鋼桁架整體提升時的施工進(jìn)度,僅保留整體模型五層及以下按進(jìn)度已完成施工的部分模型,如圖3(a)所示。
圖3 考慮鋼桁架提升時施工進(jìn)度的模型
將模型在Revit平臺下導(dǎo)出為FBX后綴的文件,并在Unity3d中進(jìn)行導(dǎo)入,如圖3(b)所示。
模型導(dǎo)入后需要為模型添加物理特性,來加強(qiáng)模型對原型的還原程度。碰撞體積是模型最重要的特性,若缺乏碰撞體積,不同物體在運(yùn)動時會出現(xiàn)互相穿越的現(xiàn)象。通過為模型添加屬性,選擇Physics-Collider可實(shí)現(xiàn)碰撞體積的添加,對于造型復(fù)雜的結(jié)構(gòu)可以選擇Mesh Collider作為碰撞體。除了碰撞體積,要使模型能夠在受到各種力的作用下產(chǎn)生真實(shí)的物理效果,如受到重力會下墜等,需要為模型添加剛體特性,選擇添加Physics-Rigidbody屬性即可。
為了逼真模擬實(shí)際施工現(xiàn)場的情景,在場景添加多種場景元素的渲染,這些元素包括音效、天空、光照、天氣等。
在杭州上城區(qū)體育中心的施工現(xiàn)場主要存在四種聲音,即現(xiàn)場多種交錯的作業(yè)聲、雨天的風(fēng)雨聲、人物的腳步聲以及鋼桁架整體提升時液壓油缸的啟動聲??紤]前三種聲音不論人物身在何處,聲音的大小差不多相同,故為人物添加音效屬性,選擇Audio-Audio Source,并導(dǎo)入相應(yīng)的音頻文件。而液壓油缸位置固定,啟動聲的大小隨人物與液壓油缸的位置遠(yuǎn)近而變化,故為液壓油缸添加音效屬性。
天空由Unity3d內(nèi)置的Skybox控制,設(shè)置為晴朗無云的天空,太陽的位置可以隨光源一同控制。
場景中一切物體的渲染通過光照來實(shí)現(xiàn)。默認(rèn)光源為Directional Light,即表現(xiàn)為太陽光,具有方向性。通過控制光源的Rotation屬性中x、y、z的值,可以控制光源的照射方向。當(dāng)光源方向平行于地表,則表現(xiàn)為黃昏或清晨; 當(dāng)光源方向垂直于地表,且光源位于主體建筑之上,則表現(xiàn)為正午; 當(dāng)光源位于主體建筑之下,則表現(xiàn)為深夜。場景中的Skybox和太陽會跟隨光源產(chǎn)生相應(yīng)的變化,如圖4(a)和圖4(b)所示??紤]夜間安裝作業(yè),本系統(tǒng)在相應(yīng)位置布置了點(diǎn)光源進(jìn)行照明,如圖4(c)所示。
圖4 不同光照下的施工場景
圖5 雨天施工的模擬
天氣系統(tǒng)由Particle System來表現(xiàn)。由于提升施工在夏季進(jìn)行,故主要應(yīng)考慮雨天對施工的影響。在Unity3d中粒子特效的控制參數(shù)接近上百種,但對于模擬雨天而言主要可以通過分別調(diào)整Duration、Start Speed、Max particles、Shape和Renderer來控制雨滴的生命周期、下落速度、數(shù)量、方向和形狀。圖5為雨天施工的模擬情景。
交互的實(shí)現(xiàn)主要通過編寫C#腳本并綁定到對應(yīng)的對象之上。Unity3d中人物的所有互動是由Animator模塊和C#腳本共同控制。Animator模塊主要作用是提供人物的動作動畫,本工程所用的人物的動作動畫邏輯如圖6所示。每一個人物模型都包含一個附屬模塊Avatar,即按關(guān)節(jié)將人物劃分了不同的部位,如手、腳、胳膊、腿、肩、脖子等??梢酝ㄟ^定義動作參數(shù)來實(shí)現(xiàn)不同部位的動作。C#腳本在控制人物方面的作用主要有兩個:
圖6 人物動作動畫邏輯關(guān)系
1)改變?nèi)宋锬P偷目臻g位置及方向;
2)設(shè)置按鍵來實(shí)現(xiàn)動作參數(shù)值的改變,如下列語句就為按下“c”鍵控制人物蹲伏的部分C#語句:
Bool crouch=Input.GetKey(KeyCode.C);
m_Character.Move(crouch);
圖7 場景人物的不同狀態(tài)
圖7為本工程使用的人物模型,人物能夠?qū)崿F(xiàn)站立、行走、奔跑、跳躍與蹲伏,可以全方位進(jìn)行施工現(xiàn)場的體驗(yàn)。此外,本系統(tǒng)為還為人物添加ThirdPerson Camera和FirstPerson Camera來實(shí)現(xiàn)第三人稱視角和第一人稱視角,并通過C#腳本實(shí)現(xiàn)視角的切換:
Void SwitchCamera(int index){
int i=0;
for(i=0; i if(i!=index){ cameras[i].GetComponent else { cameras[i].GetComponent 除了人物的控制外,鋼桁架提升過程中的關(guān)鍵工序也能夠進(jìn)行操作模擬。相比于BIM模型,鋼桁架的VR模型被調(diào)整至混凝土樓板之上。每一榀桁架兩端均創(chuàng)建液壓提升的下吊點(diǎn),通過小鍵盤的“8”和“5”鍵控制升降。部分控制C#語句如下: float up=Input.GetAxis(“SteelTruss”); float risingHeight=9.0f; if(up>0){ 圖8 鋼桁架整體提升過程的模擬 if(transform.position[1] transform.Translate(2 * Vector3.up * up * Time.deltaTime,Space.World); }} if(up<0){ if(transform.position[1]>0){ transform.Translate(2 * Vector3.up * up * Time.deltaTime,Space.World); }} 鋼絞線也需要同鋼桁架一起運(yùn)動來實(shí)現(xiàn)鋼桁架提升的視覺效果。相比于鋼桁架,鋼絞線還有變短或伸長的過程,故除了同步改變其空間位置屬性,還需要調(diào)整Transform-Scale屬性。圖8(b)為鋼桁架正在提升時的效果圖。 提升過程中還添加了風(fēng),并考慮了不同液壓提升吊點(diǎn)之間提升略微不同步的情況,以全面模擬液壓提升過程中的各種狀況。為了能夠同時展現(xiàn)不同天氣、時間下的施工情景,本系統(tǒng)還為天氣和光照添加相應(yīng)的交互指令。天氣為晴天和雨天之間的切換通過控制開關(guān)特效粒子系統(tǒng)實(shí)現(xiàn): if(Input.GetKeyDown(KeyCode.Tab)){ if(rain==0){ objects.SetActive(false); rain=1; } else { objects.SetActive(true); rain=0; }} 粒子特效系統(tǒng)關(guān)(開),對應(yīng)于晴天(雨天),按下“Tab”鍵可切換為開(關(guān)),對應(yīng)于雨天(晴天)。此外,還可以通過調(diào)整光照的明暗程度作進(jìn)一步的修飾。 光照通過調(diào)整Directional Light中Rotation屬性中x、y、z的值(-180≤x,y,z≤180)進(jìn)行控制,這里是通過改變x值進(jìn)行控制: float up=Input.GetAxis(“SunLight”); transform.Rotate(Vector3.right * up * Time.deltaTime,Space.World); 這里若按下小鍵盤“+”則“SunLight”值為一正值,對應(yīng)于x值沿正方向變化,即場景中太陽自西向東運(yùn)動; 若按下小鍵盤“-”則“SunLight”值為一負(fù)值,對應(yīng)于x值沿負(fù)方向變化,即場景中太陽自東向西運(yùn)動。 操作界面(User Interface,UI)一方面可以幫助體驗(yàn)者快速上手虛擬施工仿真系統(tǒng),另一方面也可以簡化操作。 圖9為本工程開始界面的UI,主要由標(biāo)題、背景貼圖、指示按鈕組成。首先需要在Unity3d中創(chuàng)建一個新的Scene,可以利用Unity3d自帶的MainMenuGUI的C#腳本形成一個基礎(chǔ)框架,在此基礎(chǔ)上添加標(biāo)題等元素并根據(jù)需求進(jìn)行調(diào)整。 圖9 開始界面的UI 圖10 場景中的UI 值得注意的是從開始界面進(jìn)入到場景之中需要針對按鈕編寫C#腳本語句,如這里“開始VR之旅”按鈕賦予的C#語句為: if(GUI.Button(new Rect(playButton),“開始VR之旅”)){ StartCoroutine(“ButtonAction”,“Hengjia”); } 表明按下“開始VR之旅”按鈕會跳轉(zhuǎn)至“Hengjia”這個場景,即虛擬施工的場景。其他按鈕對應(yīng)的C#腳本與此類同。 圖10左上角和右上角的圖標(biāo)為施工場景中的UI按鈕,分別可以實(shí)現(xiàn)重新開始和回到開始界面的功能。 為了幫助項(xiàng)目管理者、工人等能夠隨時隨地使用虛擬施工仿真系統(tǒng),而不受限于開發(fā)軟件,需要進(jìn)行系統(tǒng)的發(fā)布。 選擇File-Build Settings進(jìn)入發(fā)布界面選擇需要發(fā)布的Scene和目標(biāo)發(fā)布平臺。Unity3d支持多平臺程序發(fā)布,如Windows、Mac、Linus、IOS、Android等平臺。發(fā)布之前需要整理好所有的Scene文件,一般大于等于兩個,一個Scene用于開始界面的UI設(shè)計,其他的為各種施工場景,如圖11所示。整理完畢之后選擇Build即可完成系統(tǒng)的發(fā)布,生成.exe格式的文件。 圖11 系統(tǒng)的發(fā)布 圖12 液壓油缸以及液壓同步控制設(shè)備的現(xiàn)場布置 (1)高效性 可以有效地利用已有的BIM模型,與工程緊密結(jié)合,按照實(shí)際模型創(chuàng)建工程虛擬施工場景。 (2)逼真性 真實(shí)地還原了施工場景,并引入了物理特性,實(shí)現(xiàn)碰撞、重力等模擬; 音效、天空、天氣和光照等元素的組合能夠展現(xiàn)各種可能的施工情景。 (3)高度交互性 通過編寫C#腳本,可以設(shè)計出豐富多樣的交互形式,包括人物的控制、施工過程的控制、天氣和時間的控制等,不受限于軟件。 本文研究的基于BIM的大型鋼結(jié)構(gòu)虛擬施工仿真系統(tǒng)已成功應(yīng)用于杭州市上城區(qū)體育中心大跨鋼桁架整體提升工程的現(xiàn)場管理和工人培訓(xùn)之中。該系統(tǒng)全方位模擬了真實(shí)的現(xiàn)場情景,考慮了風(fēng)雨天、陰天、晚上等環(huán)境因素對鋼桁架提升作業(yè)的影響,同時也考慮了提升不同步等隨機(jī)因素的影響,在實(shí)際應(yīng)用中取得了出色的成效。 圖13 鋼桁架與型鋼柱節(jié)點(diǎn)接觸卡死情況 (1)通過虛擬仿真系統(tǒng)的漫游體驗(yàn)功能,全面考量了液壓油缸以及液壓同步控制設(shè)備的現(xiàn)場布置方案,如圖12所示。最終選擇布置在鋼桁架拼裝層的北側(cè),此處既有寬闊的場地空間又能提供充足的視野把控整個鋼桁架液壓提升過程。 (2)通過考慮風(fēng)及液壓提升吊點(diǎn)之間提升略微不同步對提升的影響,發(fā)現(xiàn)在提升過程中會出現(xiàn)鋼桁架與型鋼柱節(jié)點(diǎn)接觸卡死的情況,導(dǎo)致無法繼續(xù)提升。故利用虛擬施工仿真提前找出了容易發(fā)生接觸卡死的型鋼柱節(jié)點(diǎn),并安排工人進(jìn)行現(xiàn)場監(jiān)控,在出現(xiàn)此類現(xiàn)象之時便第一時間進(jìn)行解決,如圖13所示,大大提高了施工效率。 以杭州市上城區(qū)體育中心大跨鋼桁架液壓整體提升工程為背景,研究了基于BIM的大型鋼結(jié)構(gòu)虛擬施工仿真系統(tǒng)。該系統(tǒng)有效地利用了已有的BIM模型,可以幫助工程管理人員快速地完成施工現(xiàn)場的虛擬施工仿真場景搭建工作。 該系統(tǒng)具有高效性、逼真性和高度交互性的特點(diǎn),在上城區(qū)體育中心大跨鋼桁架液壓提升施工中的應(yīng)用,幫助施工管理者一方面更加合理地設(shè)計了液壓油缸以及液壓同步控制設(shè)備的現(xiàn)場布置方案; 另一方面提前為鋼桁架與型鋼柱節(jié)點(diǎn)接觸卡死的情況做好了準(zhǔn)備,大大提高了施工效率。此外,該系統(tǒng)可形象化地為工人進(jìn)行施工前的交底與培訓(xùn)工作,有效地保障了施工質(zhì)量與安全。3.4 操作界面的設(shè)計
3.5 系統(tǒng)的發(fā)布
3.6 系統(tǒng)的特色
4 工程應(yīng)用驗(yàn)證
5 總結(jié)