張慶高+孫建剛
摘要:本文基于Unity 3D平臺和Visual Studio 2010開發(fā)環(huán)境,在3Ds Max建模軟件的基礎(chǔ)上,結(jié)合.Net腳本以及Winform窗體設(shè)計完成大型儲罐地震動實驗的虛擬實驗系統(tǒng),解決了直徑為60m~80m的大型儲罐地震動實驗因缺少振動臺、耗資巨大而無法完成的問題,同時為土木工程專業(yè)的實驗教學(xué)方案提供了一定的幫助。
關(guān)鍵詞:Unity 3D;大型儲罐;地震動實驗
中圖分類號:TP3 文獻標(biāo)識碼:A 論文編號:1674-2117(2017)20-0096-04
● 引言
隨著社會的發(fā)展,抗災(zāi)減災(zāi)及抗震減災(zāi)已成為單獨學(xué)科或者土木工程專業(yè)附屬學(xué)科,儲罐地震動研究也成為一個主要科目。作為當(dāng)代大學(xué)生,尤其是土木相關(guān)行業(yè)的學(xué)生及從業(yè)者,有必要深入了解儲罐地震動的相關(guān)基本知識。[1]盡管部分高校有著先進的振動臺及儲罐實驗罐體,但是由于振動臺屬于大型液壓傳動設(shè)備,液壓元件均按照國家工業(yè)標(biāo)準(zhǔn)進行設(shè)計制造,屬于精密度極高的液壓元器件,使用壽命有限,且無論是振動臺還是儲罐都屬于大型教學(xué)試件,尤其是地震的晃動存在很多潛在的危險性,所以學(xué)校一般不會要求學(xué)生集體參與其中。此外,學(xué)校本身技術(shù)、實驗空間等客觀條件的約束仍然存在。目前,市場上主流的振動臺臺面尺寸多為0.5m×0.5m、0.8m×0.8m、1.0m×1.0m、1.5m×1.5m、3.0m×3.0m等,承重為100kg、200kg、300kg、500kg、1500kg,我國最大新型振動臺為中國建筑科學(xué)研究院使用的,臺面尺寸為6m×6m,承重達到60t,真實地震動實驗涉及儲罐直徑為60m~80m,滿灌液體重量達到50000t~150000t,以目前市場上的振動臺無法滿足地震動實驗的要求。
一般高校只能按比例縮小實際儲罐的尺寸,制作模型來完成大型儲罐地震動實驗,無法實現(xiàn)對實際儲罐進行地震動實驗。在實驗過程中,學(xué)生只能作為旁觀者觀看,片面了解實驗過程中所涉及的相關(guān)設(shè)備及原理,無法進行深層次的學(xué)習(xí),更不能發(fā)揮主觀能動性。[2]為了節(jié)省學(xué)校資源,避免實驗準(zhǔn)備周期長,并讓師生在虛擬現(xiàn)實的大型實驗中學(xué)到更多、更直接的專業(yè)知識,解決現(xiàn)實中無法完成大型儲罐地震動實驗的難題,本文通過對小型儲罐地震動實驗方案和結(jié)果的研究,以及對大型儲罐地震動實驗的虛擬仿真,設(shè)計了以大型儲罐(50000m3~100000m3)為實驗對象的地震動虛擬實驗系統(tǒng)。
● 系統(tǒng)設(shè)計與構(gòu)成
大型儲罐地震動實驗系統(tǒng)的設(shè)計分為四個階段:①資料搜集階段。這一階段作為基本信息的搜集整理階段,是整個系統(tǒng)的基礎(chǔ),它能分析大型儲罐的材料、大小及浮頂設(shè)計原理,同時能對市場上各種振動臺進行調(diào)研,動力系統(tǒng)考證一系列論證實現(xiàn)虛擬環(huán)境下振動臺的數(shù)值需求,選取適合本實驗的測量設(shè)備,如位移傳感器、加速度傳感器、應(yīng)變傳感器等,還能對遙感測量技術(shù)進行研究,以及對出事實驗基地的尺寸設(shè)計及外圍環(huán)境進行設(shè)置。②3D建模階段。根據(jù)收集的實驗室、儲罐、設(shè)備等資料,利用3Ds Max建模軟件,結(jié)合數(shù)據(jù)換算,建立虛擬仿真模型。③引擎編譯階段。將建造好的模型導(dǎo)出FBX后,導(dǎo)入Unity 3D引擎中,設(shè)計正常的物理運動,在儲罐振動、作動頭往復(fù)、作動軸擺動等現(xiàn)實場景中可以看到動態(tài)場景。④系統(tǒng)發(fā)布。系統(tǒng)開發(fā)完成后,需要在Unity 3D平臺下進行打包發(fā)布處理。
系統(tǒng)主要由三維模型建立、數(shù)據(jù)提取保存、UI交互三個模塊構(gòu)成,各個模塊的實現(xiàn)過程如圖1所示。
● 虛擬場景搭建
虛擬場景的搭建是大型儲油庫地震動實驗系統(tǒng)的基礎(chǔ),主要對實驗室、大型儲罐、振動臺以及所用的檢測儀器、設(shè)備等進行3Ds Max建模以及Photoshop貼圖處理。實驗室模型的建立按照本校土木工程學(xué)院結(jié)構(gòu)實驗室按比例放大設(shè)計。大型儲罐針對5萬方、10萬方和15萬方容量進行建模,并按照實際實驗的布置位置和方法布置位移傳感器、加速度傳感器及應(yīng)變片等。
● 數(shù)據(jù)提取保存
實驗數(shù)據(jù)通過ADINA有限元數(shù)值仿真分析軟件計算得到,采用Newmark-β逐步積分法求解[3],在儲罐上布置加速度測點7個,位移測點7個,為測試晃動波高在液面頂部布置7個位移傳感器。在數(shù)據(jù)提取過程中,定義點對每一點進行數(shù)據(jù)提取,提取罐壁加速度時稱曲線、有效應(yīng)力時稱曲線、環(huán)向應(yīng)力時稱曲線、軸線應(yīng)力時稱曲線等。以“蘭州波2”為例進行說明,數(shù)據(jù)如圖2所示。
數(shù)據(jù)提取處理完成后,導(dǎo)入SQL Server 2008數(shù)據(jù)庫進行存儲,數(shù)據(jù)類型設(shè)計如圖3所示。
● UI交互實現(xiàn)
Unity自發(fā)布以來,在版本Unity 4.6之前,官方只提供OnGUI函數(shù)來進行GUI開發(fā),由于在開發(fā)過程中問題較多,且不支持可視化開發(fā),所以UI設(shè)計形成了很大的局限性,但這一現(xiàn)狀很快被NGUI插件打破,它成了Unity開發(fā)必備插件,支持可視化開發(fā),同時支持2D與3D的UI界面開發(fā),性能更穩(wěn)定。本系統(tǒng)采用Unity 3D自帶的UGUI開發(fā)體系,應(yīng)用了UGUI中的Canvas、Text、Image、Button等14個控件進行界面的設(shè)計,系統(tǒng)的UI交互設(shè)計如圖4所示。
1.登錄系統(tǒng)
登錄系統(tǒng)的存在是完整系統(tǒng)組成的必要部分,設(shè)置系統(tǒng)登錄操作不僅能有效保護系統(tǒng)的安全性,還能很好地甄別擁有不同權(quán)限用戶登錄后所獲取的不同服務(wù)功能。
系統(tǒng)登錄后,打開系統(tǒng)介紹界面,即可了解虛擬現(xiàn)實技術(shù)應(yīng)用于該領(lǐng)域的目的和意義,同時對該虛擬實驗場景進行場地區(qū)域劃分說明,這能讓學(xué)生更快地了解軟件的場景構(gòu)成,減少系統(tǒng)學(xué)習(xí)使用時間。
系統(tǒng)介紹閱讀完畢后,正式進入實驗準(zhǔn)備階段。本系統(tǒng)完全依照真實實驗進行設(shè)計,實驗系統(tǒng)包括5萬方、10萬方、15萬方等三種不同儲量的大型浮頂儲罐,針對不同場地類型及多條地震波進行實驗,設(shè)計了多種實驗方案,主要內(nèi)容包括儲罐類型,應(yīng)變片選取,加速度傳感器選取,實驗過程中涉及的原理公式、施工方式方法等。endprint
2.實驗場景
實驗場景主要包括實驗準(zhǔn)備、開始、停止以及資料學(xué)習(xí)等場景。在實驗準(zhǔn)備模塊中,大量的UI交互開始介入實驗系統(tǒng),秉承UI設(shè)計的一致性、準(zhǔn)確性、布局合理、操作合理、響應(yīng)時間的多重原則,設(shè)計后續(xù)UI圖標(biāo)及交互方式。本次UI設(shè)計依照極簡、矢量、扁平化等目前比較流行的設(shè)計風(fēng)格,主題圖標(biāo)顏色以黑色為主,每個圖標(biāo)擁有自己獨立的掛載腳本和獨立功能,在交互過程中不會出現(xiàn)干擾,在UI交互獨立性控制的同時,能控制UI控件的響應(yīng)時間,使人機操作更加和諧。大型儲罐地震動實驗系統(tǒng)采取的交互UI位于主屏幕右側(cè),按照實驗操作順序進行布置,同時設(shè)置提示模塊,顯示各步驟的指示操作,引導(dǎo)學(xué)生按步驟操作實驗。
在實驗準(zhǔn)備界面的設(shè)計場景中,按鈕功能如下表所示,效果圖如下頁圖5~圖7所示。
3.部分功能實現(xiàn)代碼
在實驗場景內(nèi),為了高度還原地震動實驗場景,筆者設(shè)計了吊車吊裝儲罐從原始位置到達振動臺以及實驗結(jié)束后,將儲罐吊回的動畫場景。本實驗系統(tǒng)通過設(shè)定時間函數(shù),對吊車及儲罐進行控制,隨時間t從零開始,按步驟實現(xiàn)吊起、向前平移至振動臺、放下儲罐、退回原始位置這一運動軌跡進行吊裝演示,關(guān)鍵代碼如下:
usingUnityEngine;
usingSystem.Collections;
public class DC5 : MonoBehaviour
{private float t = 0.0f;
void Start(){}
void Update()
{t += Time.deltaTime;
if (t < 7.2f)
{transform.Translate(Vector3.forward * Time.deltaTime * -10, Space.World);}
else if (t > 7.20f && t < 7.48f)
{transform.Translate(Vector3.right * Time.deltaTime * 0, Space.World);}
else if (t > 7.48f && t < 11.08f)
{transform.Translate(Vector3.down * Time.deltaTime * 0, Space.World);}
else if (t > 11.08f && t < 14.68f)
{transform.Translate(Vector3.up * Time.deltaTime * 0, Space.World);}
else if (t > 14.68f && t < 19.53f)
{transform.Translate(Vector3.forward * Time.deltaTime * -10, Space.World);}
else if (t > 19.53f && t < 20.5f)
{transform.Translate(Vector3.down * Time.deltaTime * 0, Space.World);}
else if (t > 20.5f && t < 21.47f)
{transform.Translate(Vector3.up * Time.deltaTime * 0, Space.World);}
else if (t > 21.47f && t < 33.52f)
{transform.Translate(Vector3.forward * Time.deltaTime * 10, Space.World);}}
除了實驗吊裝外,操作實驗動畫開始,儲罐在振動臺作用下隨地震波的輸入便開始震動是另一重要場景還原,利用Unity內(nèi)的Dropdown的聯(lián)合使用,進行數(shù)據(jù)窗體激活,其主要代碼如下:
if (DropD1.options[DropD1.value].text == "15萬方儲罐" && DropD2.options[DropD2.value].text == "Ⅰ類場地土" && DropD3.options[DropD3.value].text == "CPM_CAPE MENDOCINO_90")
{G15.AddComponent
FD15.AddComponent
TST.SetActive(true);
panel.SetActive(false);
Process.Start("C:\\Users\\LDC\\Desktop\\11");
Process.Start("C:\\Users\\LDC\\Desktop\\22");}
if (DropD1.options[DropD1.value].text == "15萬方儲罐" && DropD2.options[DropD2.value].text == "Ⅰ類場地土" && DropD3.options[DropD3.value].text == "CPM_CAPE MENDOCINO_00")
{G15.AddComponent
ZDT.AddComponent
FD15.AddComponent
Process.Start("H:\\數(shù)據(jù)窗體\\15萬方\\1\\c00\\c00");
TST.SetActive(true);}
4.Winform窗體實現(xiàn)
Winform窗體在Visual Studio 2010開發(fā)環(huán)境下設(shè)計完成,窗體主要實現(xiàn)數(shù)據(jù)庫連接加載數(shù)據(jù)顯示、曲線生成等。Winform窗體由Unity 3D觸發(fā)彈出,實現(xiàn)與Unity 3D場景實驗加載的同步(如圖8)。
● 結(jié)語
大型儲油罐地震動系統(tǒng)以Unity 3D平臺為基礎(chǔ),結(jié)合Visual Studio 2010開發(fā)環(huán)境、3Ds Max建模軟件、.Net腳本以及Winform窗體設(shè)計完成,解決了針對60m~80m直徑大型儲罐地震動實驗因缺少振動臺及耗資巨大而無法完成實驗的問題,為土木工程專業(yè)的學(xué)生和教師提供了了解和學(xué)習(xí)科研實驗的良好環(huán)境,為學(xué)校的實驗教學(xué)方案提供了一定的幫助,同時為虛擬現(xiàn)實技術(shù)的應(yīng)用提供了較好的例證。
參考文獻:
[1]趙敏.大型LNG儲罐隨機地震響應(yīng)與抗震可靠度分析[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.
[2]劉德建,劉曉琳,張琰,等.虛擬現(xiàn)實技術(shù)教育應(yīng)用的潛力、進展與挑戰(zhàn)[J].開放教育研究,2016(4):25-31.
[3]孫建剛,崔利富,張營.全容式LNG儲罐地震響應(yīng)數(shù)值模擬研究[C].低碳經(jīng)濟與土木工程科技創(chuàng)新——2010中國(北京)國際建筑科技大會論文集,2010:6.
作者簡介:張慶高(1989—),男,漢族,山東濰坊人,助理工程師,碩士,主要從事軟件開發(fā);孫建剛(1959—),男,漢族,遼寧大連人,教授,博士,主要從事防災(zāi)減災(zāi)工程研究。