季 錚,謝予星,王 玥
(武漢大學(xué)遙感信息工程學(xué)院,湖北 武漢 430079)
?
基于Unity 3D的虛擬測量實驗系統(tǒng)
季錚,謝予星,王玥
(武漢大學(xué)遙感信息工程學(xué)院,湖北 武漢 430079)
為改善測繪學(xué)科實驗教學(xué)硬件制約、時空限制的現(xiàn)狀,降低訓(xùn)練作業(yè)成本,本文提出了一種基于Unity 3D游戲引擎的虛擬測量實驗系統(tǒng)設(shè)計思路。在虛擬系統(tǒng)中,全面實現(xiàn)了設(shè)備虛擬、操作虛擬,數(shù)據(jù)虛擬,可操作全站儀、激光掃描儀等虛擬測量設(shè)備完成高真實度的導(dǎo)線測量、碎部測量、三維激光點云掃描等多種測量試驗,并得到虛擬場景中的測量結(jié)果反饋,用于模擬真實的測量數(shù)據(jù)計算或后處理。該系統(tǒng)的使用,可填補目前測量試驗自學(xué)方式的空白,為測繪學(xué)科實驗教學(xué)提供新的開展模式。
虛擬實驗; 測繪教學(xué); Unity 3D; 數(shù)據(jù)模擬;游戲引擎
測繪學(xué)科應(yīng)用性較強,其實踐訓(xùn)練貫穿本科教育的始終。但就目前測繪學(xué)科的實驗教育而言,仍存在較大的局限性。一方面,傳統(tǒng)測量儀器的實驗訓(xùn)練往往由于時空限制和教學(xué)資源制約,通常只能作為課程實習(xí)開展短暫的幾周,學(xué)生對具體過程難有宏觀理解,對測量原理缺乏微觀認識,效果不佳。另一方面,測繪生產(chǎn)中的儀器較為昂貴,許多高校連基本的全站儀、水準(zhǔn)儀、GPS等都未能滿足教學(xué)要求,動輒數(shù)十上百萬的無人機、激光掃描儀等新興設(shè)備一般高校的實驗經(jīng)費更是難以負擔(dān),此類實驗教學(xué)存在空白。就現(xiàn)狀而言,測量儀器的虛擬化實驗應(yīng)用具有較高的研究價值[1]。
目前,專門針對測繪儀器與測量實驗的虛擬應(yīng)用研究較少,主流的模擬軟件都是二維面板,可操作性與可視性較差;某些已有的三維應(yīng)用僅提供動畫展示,沒有實現(xiàn)真正意義上的交互操作[2-3]。隨著計算機技術(shù)的發(fā)展和三維交互技術(shù)的日益成熟,虛擬測繪實驗平臺的構(gòu)建在技術(shù)上成為可能。本文利用現(xiàn)有的桌面式虛擬技術(shù),研究并實現(xiàn)一種基于Unity 3D游戲引擎制作虛擬測量實驗應(yīng)用的設(shè)計方案,使用戶能在虛擬應(yīng)用平臺上完成交互式虛擬測量實驗。此外,本文所提出的測量設(shè)備系統(tǒng)構(gòu)建思路對測繪領(lǐng)域的其他虛擬實驗系統(tǒng)的設(shè)計也具有參考價值。
1. Unity 3D游戲引擎
Unity 3D是近年風(fēng)靡的一款三維游戲引擎,因其優(yōu)秀的跨平臺支持、良好的易用性而廣受輕量級開發(fā)者歡迎[4]。除用來開發(fā)傳統(tǒng)意義上的游戲外,該引擎還廣泛應(yīng)用于各類基于場景的交互式虛擬系統(tǒng)開發(fā),包括場景可視化、實時三維動畫展示、場景漫游、儀器教學(xué)培訓(xùn)等[5-6]。盡管Unity 3D是一款商業(yè)化的游戲引擎,但其使用成本與提供的服務(wù)支持相比十分低廉。對于一般的中小型虛擬應(yīng)用,甚至其免費版便可滿足全部需求。
目前,在傳統(tǒng)大型機械訓(xùn)練、駕駛培訓(xùn)、船舶模擬、醫(yī)療手術(shù)等領(lǐng)域,已有從業(yè)者嘗試?yán)肬nity 3D實現(xiàn)虛擬實驗應(yīng)用于教學(xué)或訓(xùn)練[7-10]。對于測繪領(lǐng)域而言,虛擬應(yīng)用開發(fā)的關(guān)鍵在于模擬符合真實性的基本地理信息數(shù)據(jù),如空間坐標(biāo)、相對位置及方向、運動軌跡等,而這些恰好是游戲引擎所具備的基本屬性。此外,從圖形學(xué)的根本來看,游戲引擎的三維數(shù)學(xué)基礎(chǔ)和現(xiàn)實世界相通,與測繪學(xué)科的幾何原理存在很大重疊,導(dǎo)線測量、高程測量等基本測量方法的原理,都能通過游戲引擎無縫實現(xiàn)。
2. 虛擬測量實驗系統(tǒng)功能模塊設(shè)計
虛擬測量實驗系統(tǒng)基于面向?qū)ο蟮乃枷耄肬nity 3D游戲引擎實現(xiàn)相應(yīng)的功能模塊和交互模式,即對于不同測量設(shè)備,可給出一套相同思路的實驗教學(xué)模式;對于不同型號的同類設(shè)備,可實現(xiàn)共用內(nèi)核,只需修改模型及交互操作模式即可。
單個虛擬測量實驗系統(tǒng)主要分為可視化組件虛擬、操作虛擬和測量數(shù)據(jù)虛擬,每一部分又有幾個細分的功能點。功能模塊如圖1所示。

圖1 功能模塊
虛擬測量實驗系統(tǒng)可進行測量儀器虛擬操作,包括儀器搬運和架設(shè)、機身和鏡頭的機械控制、面板按鍵操作及對虛擬場景的測量數(shù)據(jù)反饋。在架設(shè)好所需虛擬設(shè)備的前提下,通過對主測量儀器進行一系列高真實度操作,實時獲取測量數(shù)據(jù),包括距離、角度、高程等。以下主要介紹虛擬測量實驗?zāi)K的實現(xiàn)。
虛擬測量系統(tǒng)的構(gòu)建主要包括基于測量功能的可視化模型虛擬、操作虛擬、數(shù)據(jù)虛擬3大方面。以下就每個方面的技術(shù)手段進行介紹,說明虛擬測量系統(tǒng)的構(gòu)建思路及其實現(xiàn)效果。
1. 基于測量功能的可視化模型構(gòu)建
虛擬測量實驗系統(tǒng)的可視化部分由測量的虛擬場景、測量設(shè)備虛擬模型和操作交互面板虛擬3部分組成。實現(xiàn)虛擬測量實驗系統(tǒng)的可視化,即是在考慮交互功能設(shè)計的前提下,對相關(guān)的虛擬場景和設(shè)備組件進行三維建模、動畫制作等,并制作出相應(yīng)的按鍵貼圖。
(1) 測量設(shè)備模型虛擬
Unity 3D支持大部分的通用三維格式,測量設(shè)備組件的幾何構(gòu)成相對規(guī)則,因此可使用3ds Max等常見的三維模型制作軟件制作相關(guān)精細組件,并轉(zhuǎn)成三維通用格式FBX導(dǎo)入Unity 3D中[11]。本文涉及的虛擬儀器主要為全站儀和激光掃描儀,所需的虛擬設(shè)備模型包括全站儀主體、激光掃描儀主體、三腳架、棱鏡、對中桿等。虛擬儀器效果圖如圖2所示。
(2) 測量場景和環(huán)境虛擬
對于虛擬場景,Unity 3D內(nèi)置的地形制作工具可以滿足絕大部分要求,如簡單的地形起伏關(guān)系或基本地物模型或貼圖等。若要營造更逼真的實驗場景效果,還可根據(jù)測繪領(lǐng)域中特有的數(shù)字高程模型(DEM)和數(shù)字正射影像(DOM)構(gòu)建真實景觀圖,并將真實景觀圖的格式轉(zhuǎn)換成3ds等通用三維格式,導(dǎo)入Unity 3D中作為真實地形。其中,DEM可提供區(qū)域內(nèi)的高程數(shù)據(jù)集,DOM則提供區(qū)域的色彩紋理,將二者結(jié)合可以獲得具有真實感的虛擬地形效果。

圖2 虛擬儀器效果
(3)操作交互面板虛擬
操作交互虛擬需要將虛擬設(shè)備的面板盡可能真實地再現(xiàn)。由于Unity 3D中具有可視效果的響應(yīng)控件通常是以二維貼圖為載體的,因此在實現(xiàn)測量設(shè)備按鈕(button)控件響應(yīng)功能前應(yīng)先準(zhǔn)備按鍵貼圖。按鍵貼圖是嚴(yán)格按照真實測量設(shè)備的面板按鍵制作而成。由于Unity 3D對圖片格式的支持良好,因此可用PhotoShop完成相關(guān)的制作工作,只需滿足Unity原生或相關(guān)插件的圖片大小要求即可。單獨的貼圖并不具備交互響應(yīng)的功能,相關(guān)功能需要使用相關(guān)插件工具并編寫控制腳本實現(xiàn)。附加貼圖的儀器面板如圖3和圖4所示。

圖3 全站儀控制面板

圖4 激光掃描儀控制面板
2. 虛擬設(shè)備操作設(shè)計
交互功能是實現(xiàn)虛擬測量設(shè)備操作體驗的重點。對于測量實驗而言,交互功能主要包括角色控制虛擬、測量設(shè)備的機械控制、測量設(shè)備按鍵響應(yīng)虛擬和測量觀察虛擬。
(1) 角色控制虛擬
角色控制器現(xiàn)實個體在虛擬環(huán)境中的映射,在本系統(tǒng)中扮演虛擬測量員的角色。虛擬系統(tǒng)用戶需要控制該虛擬角色完成虛擬場景漫游、虛擬儀器搬運及調(diào)整、虛擬測量等系列操作。Unity的預(yù)設(shè)功能中帶有基本的第一人稱控制器(first person controller)和第三人稱控制器(3rd person controller),可以滿足簡單的場景漫游功能。搬運和架設(shè)儀器需要編寫腳本程序?qū)崿F(xiàn)控制。其控制算法的基本思路是根據(jù)搬運、架設(shè)、調(diào)整的不同操作需求,保持儀器和角色控制器的相對運動或相對靜止。圖5所示為第三人稱視角下角色操作全站儀觀察的情景。

圖5 角色控制示意圖
(2) 測量設(shè)備機械控制虛擬
測量設(shè)備的機械控制是指架設(shè)并調(diào)整好腳架后,對測量設(shè)備機身和鏡頭進行旋轉(zhuǎn)調(diào)整。這需要在模型的制作階段預(yù)設(shè)可相關(guān)移動組件,通過編寫腳本程序進行控制。對于軸對稱的旋轉(zhuǎn)組件,可繞自身對稱軸設(shè)置旋轉(zhuǎn)方案;對于并不完全對稱的旋轉(zhuǎn)組件,需要新建一空游戲?qū)ο?Empty GameObject)作為旋轉(zhuǎn)中心。Empty GameObject本身不具備可視化結(jié)構(gòu),對于測量設(shè)備的視覺效果沒有影響。
對于測量儀器的自動操作部分(如激光掃描儀的測量是在預(yù)設(shè)掃描時間間隔、方位和掃描角度的情況下自動測量),則需要在測量儀器機械控制腳本的基礎(chǔ)上將按鍵驅(qū)動儀器運動(即取消按鍵響應(yīng)條件)改為參數(shù)驅(qū)動儀器運動(即新增參數(shù)設(shè)置和響應(yīng)條件)。
(3) 測量設(shè)備面板按鍵虛擬
測量設(shè)備面板按鍵虛擬是對真實儀器按鍵操作的模擬。由于3ds Max這類三維軟件構(gòu)建的全站儀三維模型并不具備相關(guān)的按鍵響應(yīng)功能,因此還需要借助其他工具為全站儀添加可響應(yīng)的按鍵控件。本虛擬測量實驗系統(tǒng)使用了Unity的第三方擴展插件NGUI的3D Camera UI功能,可在三維場景的攝像機的裁剪平面(clipping planes)中實現(xiàn)按鈕(button)控件響應(yīng)。具體的面板顯示功能仍需自行編寫腳本程序?qū)崿F(xiàn)。
測量儀器的面板顯示切換功能是較為復(fù)雜的多層嵌套條件判斷結(jié)構(gòu),腳本的實質(zhì)是對button控件的響應(yīng)。對于具有共性的面板顯示內(nèi)容,可將其寫成函數(shù)甚至定義成類,按需調(diào)用即可。對于不同型號的同種測量儀器,按鍵操作和面板顯示上略有不同,只需對某些函數(shù)進行重載或改寫,便可滿足新儀器的測量需求。
(4) 測量觀察虛擬
為模擬測量儀器的望遠鏡功能和對中功能,還應(yīng)在儀器的各個部位添加輔助攝像頭。作為望遠鏡的攝像頭應(yīng)置于全站儀鏡頭模型的中部,并添加與鏡頭同樣狀態(tài)的運動腳本;設(shè)置可調(diào)節(jié)的FOV值,用于控制望遠鏡視野的放大與縮小。用于對中的攝像頭則應(yīng)保持視線方向與地面的垂直,并在視野中加入一激光點實現(xiàn)激光輔助對中。為此,還應(yīng)引入測量點(控制點)標(biāo)志模型作為對中的目標(biāo)參考及測量過程中的點位標(biāo)記。望遠鏡觀察效果圖如圖6所示,對中示意圖如圖7所示。

圖6 望遠鏡觀察效果

圖7 激光對中示意圖
3. 測量數(shù)據(jù)虛擬化設(shè)計
虛擬模型為虛擬測量提供了操作的平臺和環(huán)境,交互功能為虛擬測量提供了實現(xiàn)的模式方法,而測量的有效性確認和正確性驗證則需通過虛擬的測量結(jié)果反饋來體現(xiàn)。虛擬設(shè)備若能再現(xiàn)真實場景測量的過程和效果,則需要具有真實場景下的數(shù)據(jù)反饋機制。此外,虛擬化的測量數(shù)據(jù)還可以一定方式導(dǎo)出,用于CAD成圖、點云分類、模型三維重建等后處理實驗。
本文涉及的虛擬測量設(shè)備全站儀和激光掃描儀包含兩類核心參數(shù):測量角度和距離。角度主要是設(shè)備控制參數(shù),由儀器獲得;距離參數(shù)則是由設(shè)備輸出介質(zhì)與被測目標(biāo)相交反饋獲得,如全站儀和掃描儀的距離參數(shù)是由激光與被測目標(biāo)的反射獲得。在虛擬系統(tǒng)中,需要計算光線與場景模型的幾何求交獲取距離參數(shù)。為此需要對激光和被測物體添加碰撞屬性,利用碰撞檢測技術(shù)實現(xiàn)[12]。圖8為測量參數(shù)獲取的流程圖。

圖8 測量參數(shù)獲取流程
以虛擬全站儀導(dǎo)線測量為例介紹虛擬測量系統(tǒng)的教學(xué)應(yīng)用方式。
1) 在傳統(tǒng)的測量教學(xué)實驗環(huán)節(jié)中,教師作為測量實習(xí)的管理者,需要為項目施行者(學(xué)生)提供諸如控制點坐標(biāo)等基本的數(shù)據(jù)信息[13]。校園中的控制點信息需要事先由GPS測量獲取,時間成本較高。虛擬測量系統(tǒng)則可事先在虛擬場景的幾個地點放置控制點模型,并通過Unity 3D后臺讀取準(zhǔn)確的控制點坐標(biāo)信息,提供給使用者(學(xué)生)。就一般情況而言至少需要4個控制點,首尾各兩個[13]。
2) 儀器初始位置統(tǒng)一置于某一控制點附近,方便使用者快速架設(shè)儀器。使用者操作虛擬角色搬運棱鏡至1號控制點和1號導(dǎo)線點;搬運全站儀至2號控制點,調(diào)平儀器。在此過程中可借助激光對中功能精確對準(zhǔn)控制點中心。
3) 儀器架設(shè)完畢后,操作角色至全站儀處,進入望遠鏡視窗觀察棱鏡,上下左右粗調(diào)和微調(diào)全站儀機身、鏡頭,直至十字絲對準(zhǔn)棱鏡中心且成像清晰。鎖定水平和豎直制動螺旋。
4) 退出望遠鏡觀察視窗,控制角色視角對準(zhǔn)全站儀面板,鼠標(biāo)點擊面板進行置零、參數(shù)設(shè)置、測量等操作。并像真實測量那樣進行必要的文本記錄或測存。
5) 記錄所需數(shù)據(jù)后,再根據(jù)導(dǎo)線測量原則觀測另一棱鏡,獲取相應(yīng)角度和距離參數(shù)。上半測回完成后,還應(yīng)倒轉(zhuǎn)望遠鏡,完成下半測回。
6) 完成一站測量后,操作虛擬角色搬運儀器和棱鏡至下一站,重復(fù)上述過程,直至完成整個測量過程。
7) 完成全部測量后,學(xué)生根據(jù)導(dǎo)線測量計算方法計算各導(dǎo)線點坐標(biāo),并提交相應(yīng)結(jié)果數(shù)據(jù)。教師后臺讀取學(xué)生所選導(dǎo)線點真實坐標(biāo),檢驗評估測量的合理性與正確性。
8) 若是用于自主學(xué)習(xí),則系統(tǒng)管理者可向使用者開放坐標(biāo)讀取權(quán)限。使用者可自定義控制點及對測量結(jié)果自我檢驗。
本虛擬測量實驗系統(tǒng)為虛擬測量的實現(xiàn)提供了一種可行的解決方案,借助Unity 3D游戲引擎,實現(xiàn)了虛擬環(huán)境下基本測量儀器的測量實驗操作。虛擬實驗的搭建能直接建立概念、原理與實體的聯(lián)系,通過可視化的方式直觀展示。虛擬實驗的交互模式直接建立學(xué)習(xí)者與學(xué)習(xí)目標(biāo)的反饋渠道,快速將知識點與實踐關(guān)聯(lián)。虛擬學(xué)習(xí)模塊大幅提高知識和技能的傳輸效能,比課堂板書、PPT幻燈片多了動態(tài)展示,比視頻或動畫多了交互操作,是融合性最高的知識傳輸和技能培訓(xùn)渠道。盡管還不能代替實際的操作訓(xùn)練,但在一定程度上能大大降低學(xué)習(xí)訓(xùn)練的實物成本,擴大輻射范圍,并能促進學(xué)生自主學(xué)習(xí),打破課堂集中學(xué)習(xí)在時間和空間上的限制,提供了一種更有效的碎片時間學(xué)習(xí)方式。除此以外,模塊化的開發(fā)思路也為虛擬測量實驗系統(tǒng)的擴展提供了可能。除了用于一般的高校教學(xué),還可通過針對性修改對各類硬件乃至新型儀器進行定制,用于儀器的推廣培訓(xùn)。
[1]王濟軍,魏雪峰. 虛擬實驗的“熱”現(xiàn)狀與“冷”思考[J]. 中國電化教育, 2011(4):126-129.
[2]馬春艷, 徐傳陽, 沈成虎,等.基于虛擬現(xiàn)實仿真技術(shù)的測繪儀器模型設(shè)計開發(fā)[J].測繪通報,2013(8):71-73.
[3]李春燕, 王雅雯, 劉少華. 全站儀模擬訓(xùn)練操作系統(tǒng)在教學(xué)中的應(yīng)用[J]. 科技信息, 2013(16):134.
[4]朱柱. 基于Unity3D的虛擬實驗系統(tǒng)設(shè)計與應(yīng)用研究[D]. 武漢:華中師范大學(xué), 2012.
[5]修春華, 孫秀娟, 苗坡,等. 基于Unity3D的虛擬礦山漫游仿真系統(tǒng)設(shè)計與實現(xiàn)[J]. 金屬礦山, 2015(4):262-266.
[6]倪樂波, 戚鵬, 遇麗娜,等. Unity3d產(chǎn)品虛擬展示技術(shù)的研究與應(yīng)用[J]. 數(shù)字技術(shù)與應(yīng)用, 2010(9):54-55.[7]師翊, 劉桂陽, 劉金明. 基于Unity 3D的撒肥機虛擬仿真[J]. 農(nóng)機化研究, 2014(7):62-66.
[8]曾林森. 基于Unity3D的跨平臺虛擬駕駛視景仿真研究[D].長沙:中南大學(xué), 2013.
[9]李治軍. 基于Unity 3D的船舶舵機艙虛擬現(xiàn)實設(shè)計與研究[D]. 大連:大連海事大學(xué), 2014.
[10]潘丹. 基于Unity3D的手術(shù)訓(xùn)練游戲的設(shè)計與實現(xiàn)[D]. 濟南:山東大學(xué), 2014.
[11]王娜娜, 韓勇, 陳戈. 基于3DS MAX和MultiGen Creator的虛擬地理信息系統(tǒng)建模的比較分析[J]. 測繪通報, 2010(2):47-51.
[12]侯偉偉, 寧汝新, 劉檢華. 虛擬裝配中基于精確模型的碰撞檢測算法[J]. 計算機輔助設(shè)計與圖形學(xué)學(xué)報, 2010, 22(5):797-802.
[13]潘正風(fēng), 程效軍, 成樞,等. 數(shù)字測圖原理與方法[M]. 武漢:武漢大學(xué)出版社, 2009.
A Virtual Surveying Experiment System Based on Unity 3D
JI Zheng,XIE Yuxing,WANG Yue
季錚,謝予星,王玥.基于Unity 3D的虛擬測量實驗系統(tǒng)[J].測繪通報,2016(10):97-100.DOI:10.13474/j.cnki.11-2246.2016.0339.
2015-12-13;
2016-06-02
國家863計劃(2013AA063905);武漢大學(xué)實驗技術(shù)項目(whu-2014-syjs-03)
季錚(1975—) ,男,副教授,研究方向為攝影測量與計算機視覺理論、實踐教學(xué)等。E-mail: jz07@whu.edu.cn
王玥
P204
B
0494-0911(2016)10-0097-04