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