范 沖,周鳳平,周 敏
(中南大學(xué)地球科學(xué)與信息物理學(xué)院,湖南長沙 410083)
虛擬現(xiàn)實(shí)技術(shù)是近年來發(fā)展最快的信息技術(shù)之一,并深入應(yīng)用于科學(xué)研究、教育培訓(xùn)、工業(yè)設(shè)計(jì)[1]、城市規(guī)劃[2]及虛擬旅游[3]等各個(gè)領(lǐng)域。虛擬實(shí)驗(yàn)室是虛擬現(xiàn)實(shí)技術(shù)在教育領(lǐng)域中的一種應(yīng)用創(chuàng)新[4]。與傳統(tǒng)實(shí)驗(yàn)室相比,它具有利用率高、無磨損老化問題、易于維護(hù)和升級(jí)等優(yōu)勢。近年來,國內(nèi)外的許多高校和科研機(jī)構(gòu)都根據(jù)自己的教學(xué)和科研需要建立了虛擬實(shí)驗(yàn)室。國外著名的虛擬實(shí)驗(yàn)室有美國麻省理工學(xué)院的MIT Microelectronics Web Lab[5]、德國 Ruhr大學(xué)的虛擬自動(dòng)化實(shí)驗(yàn)室[6]等。國內(nèi)的有浙江大學(xué)的有機(jī)化學(xué)虛擬實(shí)驗(yàn)室、清華大學(xué)的電力系統(tǒng)及大型發(fā)電設(shè)備安全控制和仿真國家重點(diǎn)實(shí)驗(yàn)室等[7]。
測繪學(xué)科的教學(xué)不同于其他學(xué)科的一個(gè)特點(diǎn)在于其實(shí)驗(yàn)教學(xué)環(huán)節(jié)占據(jù)了很大比重。但是由于受實(shí)驗(yàn)儀器資源匱乏、實(shí)習(xí)教師缺乏、時(shí)間、地點(diǎn)、天氣及管理等方面的限制,大部分學(xué)生在實(shí)驗(yàn)教學(xué)活動(dòng)中沒有得到充分的練習(xí),極大影響了教學(xué)質(zhì)量。
基于其他學(xué)科的虛擬實(shí)驗(yàn)室的成功應(yīng)用,建立一個(gè)虛擬測繪實(shí)驗(yàn)室是解決上述問題的有效途徑。虛擬現(xiàn)實(shí)技術(shù)在測繪學(xué)科的研究比較少,已知的有建立全站儀模擬操作系統(tǒng)[8],但是其仿真程度低,對學(xué)生吸引力不大,不利于應(yīng)用發(fā)展。基于Quest3D建立的虛擬實(shí)驗(yàn)室是一個(gè)三維的桌面虛擬實(shí)驗(yàn)室,改進(jìn)了過去虛擬實(shí)驗(yàn)室仿真度低的弱點(diǎn),本文擬基于此進(jìn)行相關(guān)研究。
Quest3D是Act-3D公司開發(fā)的一款功能強(qiáng)大、應(yīng)用廣闊的實(shí)時(shí)三維項(xiàng)目制作軟件,在業(yè)內(nèi)以效果出色而聞名[9-11]。它整合了圖形處理、聲音、網(wǎng)絡(luò)、交互設(shè)計(jì)、人工智能等技術(shù),能輕易地實(shí)現(xiàn)凹凸貼圖、自動(dòng)路徑及物理屬性等功能。Quest3D最大的特點(diǎn)就是獨(dú)創(chuàng)的Channel(通道)技術(shù),在這種方式下開發(fā)人員不需要編寫大量的復(fù)雜代碼,可以直接使用大量具有強(qiáng)大功能的模塊通過“搭積木”的編程方式來實(shí)現(xiàn)其特定的功能[9]。這些模塊不僅易于使用,而且還可以根據(jù)自身需要采用C++語言進(jìn)行編寫擴(kuò)展。
采用Quest3D作為三維虛擬實(shí)驗(yàn)室的開發(fā)平臺(tái),其開發(fā)流程如圖1所示。
圖1 基于Quest3D的虛擬實(shí)驗(yàn)室開發(fā)流程
采用Quest3D進(jìn)行虛擬實(shí)驗(yàn)室的開發(fā),其開發(fā)實(shí)現(xiàn)的流程如圖2所示。
圖2 虛擬實(shí)驗(yàn)室的具體實(shí)現(xiàn)流程
(1)模型建立
在虛擬實(shí)驗(yàn)室建設(shè)過程中,可以將所要建立的模型分為兩種:一是主要物體模型,如虛擬實(shí)驗(yàn)室中的實(shí)驗(yàn)儀器模型、主要建筑物模型等;二是場景模型,包括地形及不重要的地物。建模有兩種方法:一是使用3ds Max等建模軟件建模,該方法比較耗費(fèi)時(shí)間及精力,但是可以建立高精度、高仿真的模型;二是使用擁有建模功能的虛擬現(xiàn)實(shí)平臺(tái)建模,虛擬平臺(tái)建模在精度上有所欠缺,但它通常帶有很多模板,可以簡單迅速地建立效果出色的模板模型。在建模時(shí),應(yīng)該根據(jù)所要建立模型的特點(diǎn),選擇合適的建模平臺(tái)及方法,盡量花較少的時(shí)間、精力得到理想的模型。在通常情況下,虛擬實(shí)驗(yàn)室中的實(shí)驗(yàn)儀器模型采取第一種建模方式,即使用建模軟件直接建模;場景模型則根據(jù)需要選擇建模方式。
建模過程中需要注意以下兩個(gè)方面:①應(yīng)盡量避免物理原型中存在的特定的與本虛擬實(shí)驗(yàn)無關(guān)的數(shù)據(jù),盡量減少模型的數(shù)據(jù)量,以保證日后程序的正??焖龠\(yùn)行;②各種模型在建模時(shí)應(yīng)注意要與真實(shí)世界中原型的尺寸一致,避免各種模型導(dǎo)入時(shí)因大小不匹配而失去真實(shí)感。
(2)模型導(dǎo)入
模型導(dǎo)入是指將在建模平臺(tái)所建立的模型導(dǎo)入到虛擬平臺(tái)Quest3D中,以便進(jìn)行接下來的模型交互設(shè)計(jì)工作。在模型導(dǎo)入的過程中要注意模型文件格式的設(shè)置及轉(zhuǎn)換。
(3)模型的交互設(shè)計(jì)
利用Quest3D完成模型的交互設(shè)計(jì)工作具體可以分為3個(gè)部分:用戶圖形接口的設(shè)計(jì)、事件模塊及整個(gè)程序的組織部分。用戶圖形接口為觸發(fā)事件的表現(xiàn)形式,具體表現(xiàn)為按鈕、滑塊等。事件模塊為主要物體模型各個(gè)具體功能的實(shí)現(xiàn)模塊,包含物體本身的行為和模型之間的相互行為。程序的組織部分包括程序的頁面跳轉(zhuǎn)、功能模塊的發(fā)生順序等。
在交互設(shè)計(jì)過程需要注意以下兩個(gè)問題:①資源的重復(fù)利用問題。這個(gè)問題會(huì)加大程序占用的內(nèi)存空間,增加程序的運(yùn)行負(fù)擔(dān)。在交互設(shè)計(jì)過程中要加強(qiáng)對資源的管理,可采用專門的CGR文件存放圖片等資源,使用時(shí)再進(jìn)行調(diào)用。②程序模塊的命名與注釋問題。對各個(gè)模塊要做到統(tǒng)一及規(guī)范的命名,并且要學(xué)會(huì)寫注釋。
(4)虛擬實(shí)驗(yàn)室的整合發(fā)布
Quest3D中的項(xiàng)目可能由許多子程序組成,如各個(gè)菜單屏幕和三維場景,要發(fā)布成可用的程序就必須先將它們整合起來。整合的方法有兩種:一是使用邏輯信道建立邏輯,進(jìn)行切換;二是使用Quest3D的“Finite State Machine(有限狀態(tài)機(jī))”信道進(jìn)行組織。整合之后就要進(jìn)行發(fā)布,Quest3D有眾多發(fā)布選項(xiàng)可選,常用的有Q3D播放器文件、EXE文件和安裝文件。其中Q3D播放器文件還支持ActiveX控件的因特網(wǎng)瀏覽器上查看[10]。
虛擬測繪實(shí)驗(yàn)室是現(xiàn)有測繪實(shí)驗(yàn)的數(shù)字化和虛擬化,為測繪學(xué)科開設(shè)的各種測繪虛擬實(shí)驗(yàn)課程提供了全新的教學(xué)環(huán)境。根據(jù)虛擬測繪實(shí)驗(yàn)室的需求,將虛擬測繪實(shí)驗(yàn)室的系統(tǒng)設(shè)計(jì)為以下3個(gè)模塊:①測繪儀器模塊,建立測繪實(shí)驗(yàn)室儀器庫,實(shí)現(xiàn)各類測繪儀器(如全站儀、GPS、水平儀等)的虛擬仿真;②測繪實(shí)驗(yàn)實(shí)習(xí)模塊,建立三維虛擬實(shí)驗(yàn)環(huán)境,有效模擬測繪儀器認(rèn)識(shí)實(shí)驗(yàn)及全站儀導(dǎo)線測量等實(shí)驗(yàn);③管理平臺(tái)模塊,建立開放式虛擬測繪實(shí)驗(yàn)室管理信息系統(tǒng),實(shí)現(xiàn)對整個(gè)虛擬實(shí)驗(yàn)室的全局管理。這個(gè)模塊另一個(gè)功能是通過用戶對虛擬實(shí)驗(yàn)室的使用情況的評價(jià)反回饋,分析得到實(shí)驗(yàn)室的優(yōu)劣。這對虛擬實(shí)驗(yàn)室的發(fā)展提供了有效的數(shù)據(jù)來源,保證了虛擬實(shí)驗(yàn)室的可持續(xù)發(fā)展。
在虛擬測繪實(shí)驗(yàn)室的建設(shè)中,儀器模型是主要物體模型,精度要求高,因此采用3ds Max建模。而虛擬場景的精度要求不高,并且在Quest3D中預(yù)定義了大量的地形、樹和植物,可以直接、方便、快捷地創(chuàng)建出逼真的虛擬場景。因此,選用Quest3D進(jìn)行虛擬場景建模,其效果如圖3所示。
圖3 采用Quest3D建立的場景模型
將所建立的模型導(dǎo)入到Ques3D中并進(jìn)行交互設(shè)計(jì),整合并發(fā)布的效果如圖4所示。
圖4 以EXE形式發(fā)布的程序中的全站儀安置操作接口
本文以虛擬現(xiàn)實(shí)技術(shù)和計(jì)算機(jī)技術(shù)為依據(jù),針對測繪學(xué)科教學(xué)中實(shí)驗(yàn)教學(xué)環(huán)節(jié)比重大的特點(diǎn),參考眾多虛擬實(shí)驗(yàn)室的構(gòu)建,結(jié)合自身實(shí)際情況,提出了基于Quest3D構(gòu)建虛擬測繪實(shí)驗(yàn)室的整體設(shè)計(jì)方案和實(shí)現(xiàn)方法,并進(jìn)行了初期的建設(shè)。通過虛擬測繪實(shí)驗(yàn)室的初期建設(shè),可以看出,采用3ds Max+Quest3D的技術(shù)組合建立一個(gè)效果出眾的三維虛擬實(shí)驗(yàn)室是完全可行的。
[1] 陳為.虛擬現(xiàn)實(shí)技術(shù)在工業(yè)設(shè)計(jì)中的應(yīng)用[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2006,19(5):122-124.
[2] 劉增良,陳品祥,賈光軍,等.虛擬現(xiàn)實(shí)技術(shù)在城市規(guī)劃管理中的應(yīng)用研究與實(shí)踐[J].測繪通報(bào),2010(5):45-47.
[3] HIRAYU H,OJIKA T,KIJIMA R.Constructing the Historic Villages of Shirakawa—Go in Virtual Reality[J].IEEE Multimedia,2000,7(2):61-63.
[4] 衣李娜.基于VRML的數(shù)字邏輯電路虛擬實(shí)驗(yàn)室的設(shè)計(jì)方法研究[D].天津:天津大學(xué),2005:1-2.
[5] 李永帥.基于Virtools的中學(xué)物理虛擬實(shí)驗(yàn)室的構(gòu)建方法研究[D].山東:山東建筑大學(xué),2011.
[6] 張燕霞.基于虛擬儀器的傳感器虛擬實(shí)驗(yàn)與虛擬實(shí)驗(yàn)室[D].南京:南京航空航天大學(xué),2005.
[7] 陳小紅.虛擬實(shí)驗(yàn)室的研究現(xiàn)狀及其發(fā)展趨勢[J].中國現(xiàn)代教育裝備,2010(17):107-109.
[8] 駱旭佳.基于虛擬現(xiàn)實(shí)仿真技術(shù)的全站儀模擬操作系統(tǒng)的研制[D].合肥:合肥工業(yè)大學(xué),2010.
[9] 劉蓓蓓,趙曉春,張永帥,等.Quest3D技術(shù)在園林景觀設(shè)計(jì)中的應(yīng)用與實(shí)現(xiàn)[J].安徽農(nóng)業(yè)科學(xué),2010,38(13):7134-7136.
[10] 黃俊銘,艾伯特電通.Quest3D黑皮書-從入門到精通[M].臺(tái)北:上奇資訊,2010.
[11] 劉黨輝,武彥云,蘇永芝,等.基于Quest3D的導(dǎo)彈飛行三維視景仿真[J].新技術(shù)新工藝,2011(10):50-51.