姚 琪,蔣達(dá)央
(常州信息職業(yè)技術(shù)學(xué)院 經(jīng)貿(mào)管理學(xué)院,江蘇 常州 213164)
隨著網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)的發(fā)展,三維網(wǎng)絡(luò)動(dòng)畫技術(shù)和虛擬現(xiàn)實(shí)技術(shù)的應(yīng)用進(jìn)入了高校一線教學(xué)。所謂虛擬現(xiàn)實(shí)技術(shù),就是利用電腦模擬產(chǎn)生一個(gè)三維虛擬世界,提供使用者視覺、聽覺、觸覺等感官模擬,讓使用者有身歷其境之感。虛擬現(xiàn)實(shí)的感官模擬功能對(duì)提高實(shí)訓(xùn)類課程的教學(xué)質(zhì)量有著重要作用,它可將傳統(tǒng)實(shí)訓(xùn)課無縫移植到三維網(wǎng)絡(luò)教學(xué)平臺(tái)開展教學(xué)活動(dòng)[1]?;诰W(wǎng)絡(luò)的虛擬現(xiàn)實(shí)技術(shù)在高校實(shí)訓(xùn)教學(xué)中的應(yīng)用,可以減少學(xué)校對(duì)實(shí)訓(xùn)設(shè)備的投入,降低設(shè)備損耗,增強(qiáng)學(xué)生的學(xué)習(xí)興趣,提高教學(xué)質(zhì)量。傳統(tǒng)的網(wǎng)絡(luò)實(shí)訓(xùn)課程建設(shè)缺乏真實(shí)環(huán)境模擬,在很大程度上影響了實(shí)訓(xùn)類課程的教學(xué)效果。本設(shè)計(jì)將三維Web技術(shù)和虛擬技術(shù)引入網(wǎng)絡(luò)實(shí)訓(xùn)課程的建設(shè),實(shí)現(xiàn)了二維網(wǎng)絡(luò)實(shí)訓(xùn)課程向三維網(wǎng)絡(luò)課堂的轉(zhuǎn)變。
三維虛擬網(wǎng)絡(luò)實(shí)訓(xùn)課堂主要利用Web3D技術(shù)進(jìn)行系統(tǒng)設(shè)計(jì),采用3D互聯(lián)網(wǎng)平臺(tái),將現(xiàn)實(shí)世界中與實(shí)訓(xùn)教學(xué)相關(guān)的學(xué)習(xí)內(nèi)容和教學(xué)過程進(jìn)行三維虛擬立體展示,用戶可對(duì)實(shí)訓(xùn)設(shè)備進(jìn)行互動(dòng)操作[2]。所有三維模型和交互動(dòng)畫的設(shè)計(jì)開發(fā)都基于Web3D技術(shù)標(biāo)準(zhǔn)。開發(fā)人員在虛擬實(shí)訓(xùn)課堂平臺(tái)中可搭建專業(yè)實(shí)訓(xùn)教室,每個(gè)專業(yè)實(shí)訓(xùn)教室可以根據(jù)實(shí)訓(xùn)課程的要求添加設(shè)備模塊。學(xué)生以虛擬人物角色進(jìn)入實(shí)訓(xùn)教室,可選擇不同難度系數(shù)的實(shí)訓(xùn)設(shè)備進(jìn)行學(xué)習(xí)。整個(gè)實(shí)訓(xùn)過程采用視頻錄像形式全程記錄,以便于教師評(píng)分。三維虛擬網(wǎng)絡(luò)實(shí)訓(xùn)課堂設(shè)計(jì)的關(guān)鍵是建模技術(shù)分析、定位技術(shù)分析和角色動(dòng)畫技術(shù)分析。
三維模型構(gòu)建的方式很多,但虛擬網(wǎng)絡(luò)實(shí)訓(xùn)課堂的運(yùn)行必須基于Web瀏覽器,且模型的開發(fā)要簡(jiǎn)單、高效,模型的文件格式要規(guī)范、通用。因此,三維建模這項(xiàng)基礎(chǔ)工作是整個(gè)實(shí)訓(xùn)系統(tǒng)設(shè)計(jì)的關(guān)鍵環(huán)節(jié)。
第一種模型設(shè)計(jì)方式是將二維圖像經(jīng)過三維技術(shù)處理后直接顯示成偽三維圖像,對(duì)于復(fù)雜圖像則需進(jìn)一步使用Catmull-Rom插值算法和濾波等三維平滑處理技術(shù)[2],以減少銳刺、馬賽克的出現(xiàn)。該方式主要面向精度要求不高且無須參與后期三維交互動(dòng)畫設(shè)計(jì)的靜態(tài)三維模型設(shè)計(jì),例如實(shí)訓(xùn)樓外觀、教室內(nèi)部布局模型設(shè)計(jì)等。
第二種模型設(shè)計(jì)方式是采用傳統(tǒng)三維建模軟件設(shè)計(jì)模型的方式。該方式主要應(yīng)用于復(fù)雜實(shí)物模型的設(shè)計(jì),尤其是后期有交互動(dòng)畫需求的實(shí)訓(xùn)設(shè)備模型的設(shè)計(jì)。因?yàn)閷?shí)訓(xùn)所用的儀器設(shè)備幾何面與線條復(fù)雜,要求建模精度高,所以利用專業(yè)的三維模型設(shè)計(jì)軟件可以降低設(shè)備三維模型的建模難度,提高建模效率和滿足應(yīng)用需求。常用的教學(xué)儀器設(shè)備三維建模軟件有OpenGL、Pro/Engineer、Sketchup、3ds MAX[3]。這幾個(gè)軟件對(duì)機(jī)械、電子、建筑行業(yè)的設(shè)備建模能力非常強(qiáng),且都有自己的函數(shù)庫和基礎(chǔ)模型庫,可以極大地提高建模效率[4]。采用這種建模方式需注意所生成的模型文件格式與Web3D平臺(tái)所支持的文件格式的兼容性。例如,Pro/Engineer自身不具備 Web3D技術(shù)平臺(tái)所用文件格式的導(dǎo)出插件,在進(jìn)行三維模型輸出時(shí)需先導(dǎo)出.3ds格式的中間文件,然后再導(dǎo)入3ds MAX軟件中,再將其輸出為.c3d文件,從而實(shí)現(xiàn)該模型能在3D網(wǎng)絡(luò)平臺(tái)中瀏覽[5]。
第三種模型設(shè)計(jì)方式是采用新興的三維激光掃描技術(shù)建模。該技術(shù)應(yīng)用成本較高,主要用于對(duì)現(xiàn)有實(shí)體物件的三維外觀設(shè)計(jì)。該技術(shù)利用激光測(cè)距原理獲取實(shí)體目標(biāo)的位置數(shù)據(jù),進(jìn)而快速、準(zhǔn)確生成三維數(shù)據(jù)模型。三維激光掃描技術(shù)可以真實(shí)描述目標(biāo)對(duì)象的整體結(jié)構(gòu)及形態(tài)特性,具有不需要合作目標(biāo),高精度、高密度、高效率、全數(shù)字特征等優(yōu)點(diǎn)[6]。
在現(xiàn)實(shí)世界,實(shí)訓(xùn)課堂教學(xué)設(shè)備的定位分3個(gè)層級(jí):第一級(jí)是課程名稱的定位;第二級(jí)是實(shí)訓(xùn)地點(diǎn)的定位;第三級(jí)是實(shí)訓(xùn)設(shè)備機(jī)位號(hào)定位。但是在三維虛擬網(wǎng)絡(luò)實(shí)訓(xùn)課堂中,除以上3個(gè)層級(jí)外,還需要增加一個(gè)難度系數(shù)層級(jí)。所謂難度系數(shù)層級(jí)是指根據(jù)教學(xué)需要,把同一設(shè)備劃分成若干難度不同的實(shí)訓(xùn)設(shè)備,以實(shí)現(xiàn)不同機(jī)位有不同難度技能訓(xùn)練的目的。例如定位某個(gè)學(xué)生某門課程的學(xué)習(xí)進(jìn)度,該系統(tǒng)將采用基于OpenURL(開放鏈接)位置查詢的APIS(應(yīng)用程序接口)來獲取位置,以下為APIS返回的XML代碼:
賦予靜態(tài)的三維人物模型以生命力,這是三維虛擬網(wǎng)絡(luò)實(shí)訓(xùn)課堂設(shè)計(jì)不可缺少的組成部分。目前主流的人物角色動(dòng)畫控制技術(shù)是關(guān)節(jié)骨架控制技術(shù)[7]。該技術(shù)通過三維人物角色的關(guān)節(jié),使其符合實(shí)際的物理規(guī)律。角色動(dòng)畫有骨骼動(dòng)畫和頂點(diǎn)動(dòng)畫兩種類型。骨骼動(dòng)畫比頂點(diǎn)動(dòng)畫占用空間小,因?yàn)樗恍枰耥旤c(diǎn)動(dòng)畫那樣需存儲(chǔ)每一幀的各個(gè)頂點(diǎn)的數(shù)據(jù),而是只需存儲(chǔ)每一幀的骨骼的數(shù)據(jù)。因此,在虛擬網(wǎng)絡(luò)實(shí)訓(xùn)課堂系統(tǒng)中主要采用骨骼動(dòng)畫設(shè)計(jì)技術(shù),以非剛體運(yùn)動(dòng)方式模擬人物角色生動(dòng)逼真的動(dòng)畫。
三維虛擬網(wǎng)絡(luò)實(shí)訓(xùn)課堂的實(shí)現(xiàn)主要需做好以下幾個(gè)方面的工作:(1)三維虛擬實(shí)訓(xùn)場(chǎng)地環(huán)境的建設(shè);(2)課程及設(shè)備資源的標(biāo)注與定位;(3)Web3D系統(tǒng)與教學(xué)管理系統(tǒng)的數(shù)據(jù)庫接口設(shè)計(jì)。
三維網(wǎng)絡(luò)虛擬實(shí)訓(xùn)課堂的主要功能模塊有5個(gè)。
(1)用戶管理模塊。不同的用戶角色具有不同的權(quán)限,可實(shí)現(xiàn)對(duì)系統(tǒng)的分級(jí)管理。超級(jí)管理員可操控其他用戶的功能權(quán)限,教師用戶可以對(duì)學(xué)生用戶進(jìn)行協(xié)助學(xué)習(xí)過程控制。
(2)系統(tǒng)管理模塊??蓪?shí)現(xiàn)對(duì)虛擬環(huán)境及實(shí)訓(xùn)設(shè)備的增加、刪除和修改等功能,以及對(duì)系統(tǒng)的虛擬教學(xué)資源的更新等工作。
(3)實(shí)訓(xùn)課程難度系數(shù)劃分與定位管理模塊??蓪?shí)現(xiàn)將整個(gè)實(shí)訓(xùn)過程分成若干個(gè)難度系數(shù)不同的單元,而后可將該單元附加到虛擬實(shí)訓(xùn)設(shè)備上。
(4)定位管理模塊。可實(shí)現(xiàn)對(duì)課程有關(guān)資源信息(如課程名稱、實(shí)訓(xùn)地點(diǎn)等)在三維虛擬環(huán)境中進(jìn)行標(biāo)注定位管理(如標(biāo)簽集中分發(fā)、調(diào)整等)。
(5)數(shù)據(jù)庫接口管理模塊。可實(shí)現(xiàn)虛擬實(shí)訓(xùn)課堂系統(tǒng)與教務(wù)管理系統(tǒng)的數(shù)據(jù)共享。常用數(shù)據(jù)包括課程數(shù)據(jù)、教師數(shù)據(jù)、學(xué)生數(shù)據(jù)、成績數(shù)據(jù)。
根據(jù)三維虛擬網(wǎng)絡(luò)實(shí)訓(xùn)課堂系統(tǒng)的應(yīng)用需求,系統(tǒng)Web應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器采用微軟公司的Windows 2008Server操作系統(tǒng),數(shù)據(jù)服務(wù)器的數(shù)據(jù)庫系統(tǒng)采用微軟公司的SQL Server2005。系統(tǒng)開發(fā)環(huán)境使用微軟公司的Visual Studio 2010,該開發(fā)環(huán)境在研發(fā)基于.NET4.0動(dòng)態(tài)網(wǎng)頁時(shí)可以減少代碼的輸入,并且可兼容多種程序設(shè)計(jì)語言。動(dòng)畫整合設(shè)計(jì)充分利用了法國Dassault Systemes公司的Virtools實(shí)時(shí)三維創(chuàng)建工具進(jìn)行動(dòng)態(tài)計(jì)算、行為處理以及場(chǎng)景渲染。
三維虛擬實(shí)訓(xùn)課堂系統(tǒng)利用XML技術(shù),先將教務(wù)管理平臺(tái)數(shù)據(jù)庫按普通文件方式打開,讀出系統(tǒng)所需數(shù)據(jù)項(xiàng),然后將數(shù)據(jù)通過數(shù)據(jù)轉(zhuǎn)換程序完成教務(wù)數(shù)據(jù)庫到虛擬實(shí)訓(xùn)系統(tǒng)數(shù)據(jù)庫的轉(zhuǎn)換,并按新的數(shù)據(jù)格式存儲(chǔ),從而在不損壞原數(shù)據(jù)的情況下實(shí)現(xiàn)數(shù)據(jù)共享。對(duì)于學(xué)生成績數(shù)據(jù),也可以將虛擬實(shí)訓(xùn)系統(tǒng)處理后的數(shù)據(jù)通過數(shù)據(jù)轉(zhuǎn)換接口存回教務(wù)管理系統(tǒng)數(shù)據(jù)庫中,具體實(shí)現(xiàn)過程如圖1所示。
圖1 跨系統(tǒng)數(shù)據(jù)共享
三維虛擬網(wǎng)絡(luò)實(shí)訓(xùn)課堂的教學(xué)環(huán)境主要包括4類三維視圖,各視圖均以三維形態(tài)展示給用戶:
(1)實(shí)訓(xùn)基地建筑三維視圖:展示完整的虛擬實(shí)訓(xùn)樓外觀和內(nèi)部的三維結(jié)構(gòu);
(2)教室內(nèi)部環(huán)境三維視圖:展示不同專業(yè)實(shí)訓(xùn)教室的三維空間結(jié)構(gòu)及裝潢;
(3)實(shí)訓(xùn)儀器設(shè)備三維視圖:展示實(shí)訓(xùn)教室的儀器設(shè)備及機(jī)位編號(hào);
(4)人物角色三維視圖:展示實(shí)訓(xùn)參與人員,包括教師角色和學(xué)生角色。
由于各三維視圖的作用和使用方式不同,所以在系統(tǒng)實(shí)現(xiàn)過程中采用了不同設(shè)計(jì)方式。實(shí)訓(xùn)基地建筑視圖、教室內(nèi)部環(huán)境視圖因展現(xiàn)的內(nèi)容和結(jié)構(gòu)相對(duì)固定,修改頻次較少,因此采用靜態(tài)的三維視圖來完成;而人物角色、儀器設(shè)備視圖因需要重點(diǎn)體現(xiàn)交互式動(dòng)畫設(shè)計(jì),內(nèi)容更新快,傳輸數(shù)據(jù)量大,因此對(duì)這兩個(gè)視圖采用動(dòng)態(tài)三維視圖生成的方法完成,尤其是與實(shí)訓(xùn)設(shè)備的交互操作三維動(dòng)畫,主要采用基于VSL Sript(virtools scripting language)程序設(shè)計(jì)語言來完成[8]。
查詢功能主要指對(duì)實(shí)訓(xùn)地點(diǎn)三維坐標(biāo)的查詢和具體實(shí)訓(xùn)單元標(biāo)簽信息的查詢。當(dāng)用戶在查詢框中輸入查詢條件后,系統(tǒng)的三維場(chǎng)景視圖中心點(diǎn)立即定位在對(duì)應(yīng)的查詢位置。
利用Virtools生成的三維虛擬場(chǎng)景與Web3D網(wǎng)絡(luò)實(shí)訓(xùn)平臺(tái)的數(shù)據(jù)交換是系統(tǒng)查詢功能實(shí)現(xiàn)的關(guān)鍵[9]。三維虛擬場(chǎng)景以對(duì)象的形式嵌入在3D網(wǎng)頁中,虛擬場(chǎng)景只能通過向網(wǎng)頁發(fā)送JavaScript腳本來實(shí)現(xiàn)與其相對(duì)應(yīng)的功能[10]。該功能是通過Virtools自身的BBs(Building Blocks)功能來實(shí)現(xiàn)。下面編寫的是一個(gè)關(guān)于實(shí)現(xiàn)三維虛擬場(chǎng)景觸發(fā)網(wǎng)頁事件的函數(shù)模塊腳本程序。該程序利用OpenWindow()函數(shù)接受一個(gè)三維場(chǎng)景調(diào)用網(wǎng)頁上的JavaScript指令,Open-Window()函數(shù)原型定義如下:
以上程序表示用戶在網(wǎng)頁中瀏覽三維場(chǎng)景時(shí),可實(shí)現(xiàn)在該場(chǎng)景頁面中彈出新窗口。用戶可在新窗口輸入查詢條件,從而實(shí)現(xiàn)數(shù)據(jù)從三維場(chǎng)景向服務(wù)器傳遞的功能。服務(wù)器端將查詢結(jié)果返回客戶端的代碼相對(duì)簡(jiǎn)單,采用Response.Write()語句輸出到網(wǎng)頁即可。
對(duì)于服務(wù)器返回的信息,系統(tǒng)可利用Virtools自帶的DoCommand()函數(shù)傳達(dá)信息以激活三維虛擬場(chǎng)景對(duì)應(yīng)的模塊,關(guān)鍵程序?qū)崿F(xiàn)如下:
以上程序代碼實(shí)現(xiàn)了將網(wǎng)頁消息發(fā)送給三維場(chǎng)景中指定物體的功能。當(dāng)網(wǎng)頁中發(fā)出的消息同時(shí)滿足SendMessage是message和ObjectName是lab1時(shí),該程序就執(zhí)行。系統(tǒng)通過Web getdata獲得課程在服務(wù)器上的地址字符串,并把該值傳遞給課程信息調(diào)用模塊,實(shí)現(xiàn)服務(wù)器端加載相應(yīng)實(shí)訓(xùn)設(shè)備模型到三維場(chǎng)景中,從而完成網(wǎng)頁信息和三維場(chǎng)景信息的傳遞,實(shí)現(xiàn)信息查詢功能。
利用Web3D支持JavaScript這一功能,在網(wǎng)頁代碼中編寫jsp腳本程序來實(shí)現(xiàn)人物角色的行進(jìn)動(dòng)作控制功能。下面就是一個(gè)利用鍵盤的W鍵對(duì)人物角色進(jìn)行前進(jìn)和停止的控制程序。
該程序利用onKeyDown和onKeyUp事件,判斷其中的switch(event.keyCode)的值來控制場(chǎng)景視角,從而實(shí)現(xiàn)角色的前進(jìn)和停止動(dòng)作。
Web3D技術(shù)和虛擬現(xiàn)實(shí)技術(shù)在網(wǎng)絡(luò)實(shí)訓(xùn)類課程中的應(yīng)用,對(duì)傳統(tǒng)網(wǎng)絡(luò)課程的建設(shè)形式和教學(xué)方式產(chǎn)生了重要影響。無論從網(wǎng)絡(luò)實(shí)訓(xùn)課程內(nèi)容的組織形式和表示方式來分析,還是從學(xué)生的學(xué)習(xí)心理特點(diǎn)來研究,基于三維虛擬技術(shù)的網(wǎng)絡(luò)實(shí)訓(xùn)課堂的優(yōu)點(diǎn)都非常突出。這種設(shè)計(jì)思想改善了網(wǎng)絡(luò)課程建設(shè)效果,提升了教學(xué)應(yīng)用價(jià)值,給學(xué)生創(chuàng)設(shè)了一個(gè)全新的實(shí)訓(xùn)環(huán)境。
(
)
[1]張麗霞,商蕾杰.虛擬課堂學(xué)習(xí)支架的類型及功能[J].中國電化教育,2011(4):27-31.
[2]葉家鳴,錢萌,程樹林.基于Catmull-Rom插值算法的二維圖像的三維顯示[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007(10):234-236.
[3]馮清秀,夏俊力.基于OpenGL的交互式PLC虛擬實(shí)驗(yàn)系統(tǒng)[J].實(shí)驗(yàn)室研究與探索,2011,30(2):47-50.
[4]劉尚勤,顧耀林.基于X3D構(gòu)建高效的虛擬場(chǎng)景[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(2):303-306.
[5]李闖,朱靜.基于Google SketchUp的虛擬校園三維建模[J].吉林建筑工程學(xué)院學(xué)報(bào),2012(10):33-35.
[6]Broggi A,Cerri P,Antonello P C.Multi-Resolution Vehicle Detection using Artificial Vision[C]//IEEE Intelligent Vehicles Symposium.2004:310-214.
[7]趙金龍,胡小麗,王碩,等.利用Web3D技術(shù)建設(shè)數(shù)字圖書館平臺(tái)的研究[J].大學(xué)圖書館學(xué)報(bào),2011(1):51-53.
[8]Schoning J,Steinicke F,Kruger A,et al.Interscopic multi-touch surfaces:Using bimanual interaction for intuitive manipulation of spatial data[J].IEEE Symposium on Digital Object Identifier,3D User Interfaces.2009:127-128.
[9]陳琎,王勁飛,何興恒.利用四叉樹分割技術(shù)對(duì)二維圖像的三維轉(zhuǎn)換[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006(1):52-54,58.
[10]何曲,楊潔,張紅燕.基于X3D的三維虛擬圖書館的構(gòu)建[J].電腦知識(shí)與技術(shù),2010(16):4511-4513.
實(shí)驗(yàn)技術(shù)與管理2013年11期