石宏斌,王 軒,韓 杰,李長坡,王星琦
(許昌學院 城市與環(huán)境學院,河南 許昌 461000)
實踐教學是測量學教學的重要環(huán)節(jié),但是目前測量學實踐教學仍存在較大的局限性:
1)測量儀器價格昂貴,更新?lián)Q代較快,許多高校無力購買足夠數(shù)量的測量儀器,以致于學生在分組實踐練習過程中難以獲得有效的鍛煉和學習;
2)實踐場地固定、場景單一,學生難以體驗不同場景下,測量學實踐操作的不同;
3)受其他特殊因素限制,測量學實踐教學難以開展。例如:新冠疫情使得測量學只能線上開展理論教學,實踐教學難以開展。
虛擬仿真技術(shù)能夠模擬各種測量儀器和測量場景,讓學生足不出戶,在手機上或電腦上即可進行相關(guān)的儀器操作和場景體驗,獲得一種身臨其境和近乎真實的體驗效果,從而克服測繪教學設(shè)備昂貴、實踐場景復雜等客觀條件的限制,讓學生隨時隨地即可進行相關(guān)儀器的學習和實踐,達到掌握測量學相關(guān)知識和技能的目的,從而獲得較好的測量學實踐教學效果。
利用虛擬仿真技術(shù)進行測繪相關(guān)實踐教學仿真,業(yè)內(nèi)已有許多學者開展了相關(guān)的工作。例如:周敏等利用Unity3D等工具平臺構(gòu)建了測量學虛擬學習環(huán)境[1];陳時雨等利用Unity3D技術(shù)構(gòu)建了基于web的“攝影測量學”虛擬仿真實踐教學平臺[2];馮正茂等利用虛擬仿真技術(shù)探索模擬井下水準測量[3];袁德寶等利用3ds max平臺等構(gòu)建GNSS的虛擬仿真教學系統(tǒng)[4];田鵬等設(shè)計了全站儀虛擬仿真教學系統(tǒng)[5]。上述文獻均討論了虛擬仿真在實踐教學的思路和模式,對于如何進行相關(guān)的技術(shù)實現(xiàn)涉及相對較少。本文結(jié)合當前虛擬仿真的實際情況,詳細介紹了基于Unity3D構(gòu)建測量學虛擬仿真實踐教學平臺的思路和方法。
構(gòu)建測量學實踐教學虛擬仿真平臺,就是要利用計算機三維仿真技術(shù),模擬測量學中的基本儀器操作、數(shù)據(jù)采集、數(shù)據(jù)處理和地形圖測繪等實踐操作環(huán)節(jié),讓學生足不出戶,即可在計算機上完成測量學實踐教學相關(guān)知識和技能的學習。
根據(jù)上述總體設(shè)計,測量學實踐教學虛擬仿真平臺的功能設(shè)計[6]如下:
1)教學管理模塊。旨在完成學生基本信息管理與系統(tǒng)登錄、學習任務(wù)發(fā)布、學習效果打分與統(tǒng)計,師生互動交互等功能。
2)儀器基本操作模塊。包括水準儀、經(jīng)緯儀、全站儀的基本組成部分,儀器的基本操作和基本讀數(shù)方法的仿真模擬功能。
3)外業(yè)數(shù)據(jù)采集模塊。包括高程控制測量、導線控制測量、碎部測量的外業(yè)數(shù)據(jù)采集仿真功能。
4)測量數(shù)據(jù)處理模塊。包括高程控制測量數(shù)據(jù)處理、導線控制測量數(shù)據(jù)處理、地形圖成圖內(nèi)業(yè)數(shù)據(jù)處理的仿真模擬功能。
系統(tǒng)總體功能設(shè)計如圖1所示。
圖1 測量學實踐教學平臺的總體功能設(shè)計Fig.1 General function design of surveying practice teaching platform
根據(jù)上述功能設(shè)計,構(gòu)建了基于Unity3D的測量學實踐教學虛擬仿真平臺的技術(shù)路線,具體如圖2所示。
對目標測量儀器拍照,獲得儀器不同視角的照片,導入3ds max中,利用3ds max的基本幾何對象構(gòu)建儀器的基本部件。以DSZ水準儀為例,模型構(gòu)建的過程如下:利用切角圓柱體構(gòu)建水準儀的照準部(如圖3(a)),圓環(huán)和圓柱體制作物鏡(如圖3(b)),利用幾何體和圖形畫出圓水準氣泡(如圖3(c)),圓柱體和三角體制作粗瞄準器(如圖3(d)),星型對象構(gòu)建儀器的調(diào)焦螺旋(如圖3(e))。并根據(jù)儀器的真實顏色對儀器部件賦色。
圖3 DSZ水準儀模型構(gòu)建Fig.3 Model construction for DSZ level instrument
在本系統(tǒng)中,界面分為登錄界面和場景界面兩種,界面的設(shè)計和實現(xiàn)均由Unity3D中的UGUI庫制作完成。在hierarchy樹中創(chuàng)建panel結(jié)點以組織場景界面。在panel結(jié)點下,創(chuàng)建button結(jié)點以表示各個菜單,并設(shè)置其相關(guān)顏色和聲效特征。界面中的圖片和動畫可利用image對象和video對象表達。最后,利用layout組件布局菜單,設(shè)置菜單排列和滑動特性。系統(tǒng)的部分場景設(shè)計界面,如圖4所示。
圖4 測量學虛擬仿真平臺部分場景界面Fig.4 Interfaces in some scenes of surveying practice teaching virtual simulation platform
利用C#語言實現(xiàn)菜單命令功能,具體步驟如下:
1)命令腳本創(chuàng)建。創(chuàng)建空的gameobject對象,并為該對象添加script組件,在其C#腳本中添加相應(yīng)命令的響應(yīng)函數(shù)。
2)命令掛接。為button對象或擁有button屬性的image對象添加OnClick功能,并在其相關(guān)選項中指定gameobject對象及其響應(yīng)函數(shù),從而實現(xiàn)命令功能。
以圖5中“水準測量”按鈕為例,具體介紹命令菜單的實現(xiàn)過程為:
1)創(chuàng)建名為“l(fā)oadScene.cs”的C#腳本(見圖5中的“1”);
2)在hierarchy中創(chuàng)建空的gameobject對象,并改名為loadLevelSurvey(見圖5中“2”),并將腳本loadScene.cs掛接到loadLevelSurvey上;
3)為按鈕“水準測量”添加OnClick操作(見圖5中的“3”),并設(shè)置相應(yīng)的響應(yīng)對象和操作函數(shù)(見圖5中的“4”),從而實現(xiàn)按鈕點擊功能。
圖5 菜單命令實現(xiàn)步驟Fig.5 Steps of menu command construction
上述“l(fā)oadScene.cs”腳本中,可以添加三維場景交互、主題場景切換、三維模型載入載出及預設(shè)操作動畫播放等功能,從而實現(xiàn)各種仿真功能。
以全站儀照準棱鏡仿真操作為例,介紹功能實現(xiàn)的過程。總體思想是,將構(gòu)建好的全站儀、棱鏡等基本模型,在3ds max中制作仿真動畫,并將動畫導出到Unity3D中,在Unity3D中通過相應(yīng)的按鈕播放仿真動畫,從而實現(xiàn)操作的仿真。
1)動畫制作。在3ds max中,點擊標準幾何體里面的平面、長方體和圓柱,創(chuàng)建一個平面,一個圓柱體,4個長方體,修改大小、顏色和位置,利用布爾運算等操作制作望遠鏡里面的觀測界面,將時間幀拖至50處設(shè)置一個關(guān)鍵幀,利用移動等按鈕對觀測界面進行動畫制作,使十字絲中心對準棱鏡中心(見圖6)。
圖6 全站儀操作中的照準仿真Fig.6 Aiming simulation in total station operation
2)動畫導出與導入。將3ds max中制作的動畫導出為fbx格式,放置在unity項目中的assets目錄下,并拖拽至hierarchy目錄下,從而實現(xiàn)全站儀照準動畫的unity導入。
3)動畫播放。在Unity3D中添加仿真動畫播放的按鈕,按照2.3中的方法實現(xiàn)按鈕的命令掛接,并播放步驟2中導入的動畫,從而實現(xiàn)仿真功能。
利用Unity3D中的build Settings菜單,可實現(xiàn)虛擬仿真功能的程序輸出。在該菜單中,可將創(chuàng)建的虛擬仿真模塊,輸出為個人電腦可執(zhí)行程序、webgl、安卓app、ios app等形式,可實現(xiàn)一個平臺組織編輯,多個平臺運行。將仿真程序發(fā)送給每位同學,即可實現(xiàn)足不出戶,進行測量儀器的學習和模擬操作。
本文基于Unity3D,設(shè)計并實現(xiàn)了測量學中常規(guī)測量儀器虛擬展示、虛擬操作,達到預期開發(fā)設(shè)計目標,滿足測量學實踐教學需求,是測量學理論教學、實踐教學的重要輔助性手段。目前,該系統(tǒng)已在許昌學院測繪工程、地理信息科學等專業(yè)實踐教學中投入使用,并獲得了良好的效果。后續(xù),可在此平臺的基礎(chǔ)上,構(gòu)建工程測量學、大地測量學等虛擬仿真實驗平臺,該平臺也可為社會培訓提供相應(yīng)的支持。