王瑜晨
摘 要:虛擬現(xiàn)實(Virtual Reality, VR)具有很好的沉浸感、交互性和自由性,該文以安徽省宣城市宛溪河大橋為例,提出一種基于Unity 3D并使用C#語言開發(fā)的VR仿真設計模式,該模式基于三維建模、模型優(yōu)化、模型及場景加載、人機交互和運動等進行仿真設計,結果表明該方法可以有效提高工程前期施工方案決策效率,同時對橋梁施工過程中的遠程監(jiān)控具有一定的輔助作用。
關鍵詞:橋梁工程;Unity 3D;虛擬漫游;實時渲染
中圖分類號:TP391.9? ? ? 文獻標志碼:A
0 引言
虛擬現(xiàn)實(Virtual Reality, VR)在航空航天、機械制造、醫(yī)學、文化旅游等行業(yè)迅猛發(fā)展,其中虛擬漫游是VR的一個重要應用方向,其實現(xiàn)了三維景觀的數(shù)字化和虛擬化,并將真實的場景顯示在屏幕上。與傳統(tǒng)的視頻動畫不同,虛擬漫游更具有沉浸感、交互性和自由性。
該文以宣城市宛溪河矮塔斜拉橋為例,設計了包括橋梁主體以及周圍城市、水域景觀一體化的三維VR仿真場景,將橋梁工程與虛擬現(xiàn)實技術結合起來,打破了橋梁施工在方案比選方面的諸多限制,最終實現(xiàn)橋梁施工方案的高效比選。
1 橋梁主體及周圍景觀建模和優(yōu)化處理
該文研究的是基于Unity 3D平臺開發(fā)的VR仿真系統(tǒng),Unity 3D在模型構建方面僅具備基礎的建模功能,無法構造橋梁等復雜模型,無法反映橋梁內部真實構造情況,因此運用工業(yè)建模軟件Maya進行模型制作,但由于其文件格式與Unity 3D引擎不兼容,因此須再使用工程級建模軟件3Ds Max對模型進行材質渲染,提高模型真實性,并將模型文件轉化為.FBX格式,以供Unity 3D環(huán)境使用,具體流程如圖1所示。
為實現(xiàn)虛擬現(xiàn)實仿真設計在Unity 3D環(huán)境下,能夠最真實地反映橋梁建成后的結構狀態(tài)以及其與周圍城市、水域景觀融合狀態(tài),該設計根據(jù)《宣城市宛溪河矮塔斜拉橋設計》里的斜拉橋真實施工尺寸及實際施工節(jié)段進行三維建模,模型主要有宛溪河大橋主體結構、周圍城市水域景觀2個部分,各部分模型結構如圖2所示。
為了呈現(xiàn)最真實的場景效果、提高建模的精細度、減少模型材質之間的干擾,要將橋梁主體結構與周圍環(huán)境景觀分開建模,同時為了保證橋梁各部分結構尺寸的精確,采用Auto CAD構建橋梁各部分的詳細結構尺寸,輔助3Ds Max優(yōu)化模型。
2 模型及場景加載
將前期制作的大橋和景觀2個部分模型在3Ds Max中導出.FBX格式,并將該文件導入Unity 3D中,將導入模型的坐標與Unity 3D環(huán)境坐標系進行關聯(lián),完成模型加載。為了使場景更具有真實感,需要添加光源,使物體出現(xiàn)陰影、反射等真實現(xiàn)象。該虛擬現(xiàn)實系統(tǒng)使用平行光源,并對主攝像機添置天空盒子,宛溪河大橋場景效果如圖3所示。
3 人機交互設計開發(fā)
人機交互設計以及虛擬漫游的實現(xiàn),需要對其進行程序設計。Unity 3D支持使用C#、Java和Boo這3種語言的編程,均是基于.NET平臺開發(fā)運行。該文采用C#語言進行程序設計,并使用引擎自帶的MonoDevelop進行程序設計,人機交互界面采用Unity 3D自帶的插件NGUI開發(fā)。為保證虛擬漫游的順利進行,使用C#語言進行漫游動作程序編寫。為更好地構建漫游橋梁各部分結構,使用鼠標確定攝像機位置。
start_qua = transform.rotation;start_pos= transform.position? //記錄攝像機初始位置
mousePos2 = Input.mousePosition //記錄鼠標實時移動的位置
if (Mathf.Abs(offset.x) > Mathf.Abs(offset.y)) //比較坐標值,區(qū)分上下與左右位置
transform.RotateAround? //調節(jié)攝像機漫游角度
為保證第一視角漫游時的真實體驗感,橋體結構模型添加了碰撞檢測功能。加載過模型后將全部模型建立Mesh,并將單個模型單元賦予Mesh Collider,調節(jié)碰撞參數(shù)。當依靠鼠標移動第一視角時,攝像機達到橋體結構表面時即會觸發(fā)碰撞機制,令其無法向模型內部移動。
4 運動仿真
為了實現(xiàn)虛擬景觀中水流的運動仿真,采用C#語言對河道模型進行了材質調節(jié),使河道具有真實的流動以及反光效果。如圖4所示是宛溪河河道模型材質處理參數(shù)。運用C#編寫4個部分程序代碼:水流材質、水面光影、鏡像反光、水波變化。對上述四部分程序進行參數(shù)適配,最終獲得最接近真實水面反應的河道水流效果。
為真實仿真外界光線變化,對添加的平行光影編寫運動程序,保證在適當?shù)穆芜^程能較完整的體驗光照變換的景觀效果,經(jīng)過反復測試最終確定設置3 min為一個光影換周期。
5 結語
該文主要對宣城市宛溪河大橋進行了虛擬現(xiàn)實技術的研究設計,在Maya中進行三維建模,在3Ds Max中進行模型優(yōu)化,實現(xiàn)了基于Unity 3D引擎、使用C#語言開發(fā)的虛擬現(xiàn)實場景設計,可以在不同畫面層次獲得很好的臨場感。
通常情況下,橋梁施工不僅周期長而且還極其復雜,其中施工方案一般還需要作多次展示和修改,總體上缺乏臨場感,該文提供的方法可以很好地解決這個難題。因此,該文提供的方法對橋梁工程前期方案比選以及橋梁施工過程的遠程監(jiān)控有著重要的研究意義。
參考文獻
[1]朱惠娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計算機系統(tǒng)應用,2012,21(10):36-39.
[2]高國雪,高輝,焦向東,等.基于Unity3D的焊接機器人虛擬現(xiàn)實仿真技術研究[J].組合機床與自動化加工技術,2018(3):19-22.
[3]汪學著,孫鳳佳.宣城市宛溪河矮塔斜拉橋設計[J].世界橋梁, 2012,40(1):11-13.
[4]C Helbig,H S Bauer,K Rink,et al.Concept and workflow for 3D visualization of atmospheric data in a virtual reality environment for analytical approaches[J].Environmental Earth Sciences,2014,72(10):3767-3780.
[5]A Okita.Learning C# progra mming with Unity 3D[J].English Journal,2014(1):249-267.
[6]周信文,俎曉芳,羅津,等.基于Unity3D的地鐵三維虛擬漫游設計[J].計算機系統(tǒng)應用,2018,27(3):258-262.
[7]張煜,陳天星,陳力,等.基于Unity3D的計算機虛擬試衣測量系統(tǒng)設計與實現(xiàn)[J].計算機測量與控制,2018(2):44-47.