姚 琪,蔣達央
(常州信息職業技術學院 經貿管理學院,江蘇 常州 213164)
隨著網絡技術和多媒體技術的發展,三維網絡動畫技術和虛擬現實技術的應用進入了高校一線教學。所謂虛擬現實技術,就是利用電腦模擬產生一個三維虛擬世界,提供使用者視覺、聽覺、觸覺等感官模擬,讓使用者有身歷其境之感。虛擬現實的感官模擬功能對提高實訓類課程的教學質量有著重要作用,它可將傳統實訓課無縫移植到三維網絡教學平臺開展教學活動[1]。基于網絡的虛擬現實技術在高校實訓教學中的應用,可以減少學校對實訓設備的投入,降低設備損耗,增強學生的學習興趣,提高教學質量。傳統的網絡實訓課程建設缺乏真實環境模擬,在很大程度上影響了實訓類課程的教學效果。本設計將三維Web技術和虛擬技術引入網絡實訓課程的建設,實現了二維網絡實訓課程向三維網絡課堂的轉變。
三維虛擬網絡實訓課堂主要利用Web3D技術進行系統設計,采用3D互聯網平臺,將現實世界中與實訓教學相關的學習內容和教學過程進行三維虛擬立體展示,用戶可對實訓設備進行互動操作[2]。所有三維模型和交互動畫的設計開發都基于Web3D技術標準。開發人員在虛擬實訓課堂平臺中可搭建專業實訓教室,每個專業實訓教室可以根據實訓課程的要求添加設備模塊。學生以虛擬人物角色進入實訓教室,可選擇不同難度系數的實訓設備進行學習。整個實訓過程采用視頻錄像形式全程記錄,以便于教師評分。三維虛擬網絡實訓課堂設計的關鍵是建模技術分析、定位技術分析和角色動畫技術分析。
三維模型構建的方式很多,但虛擬網絡實訓課堂的運行必須基于Web瀏覽器,且模型的開發要簡單、高效,模型的文件格式要規范、通用。因此,三維建模這項基礎工作是整個實訓系統設計的關鍵環節。
第一種模型設計方式是將二維圖像經過三維技術處理后直接顯示成偽三維圖像,對于復雜圖像則需進一步使用Catmull-Rom插值算法和濾波等三維平滑處理技術[2],以減少銳刺、馬賽克的出現。該方式主要面向精度要求不高且無須參與后期三維交互動畫設計的靜態三維模型設計,例如實訓樓外觀、教室內部布局模型設計等。
第二種模型設計方式是采用傳統三維建模軟件設計模型的方式。該方式主要應用于復雜實物模型的設計,尤其是后期有交互動畫需求的實訓設備模型的設計。因為實訓所用的儀器設備幾何面與線條復雜,要求建模精度高,所以利用專業的三維模型設計軟件可以降低設備三維模型的建模難度,提高建模效率和滿足應用需求。常用的教學儀器設備三維建模軟件有OpenGL、Pro/Engineer、Sketchup、3ds MAX[3]。這幾個軟件對機械、電子、建筑行業的設備建模能力非常強,且都有自己的函數庫和基礎模型庫,可以極大地提高建模效率[4]。采用這種建模方式需注意所生成的模型文件格式與Web3D平臺所支持的文件格式的兼容性。例如,Pro/Engineer自身不具備 Web3D技術平臺所用文件格式的導出插件,在進行三維模型輸出時需先導出.3ds格式的中間文件,然后再導入3ds MAX軟件中,再將其輸出為.c3d文件,從而實現該模型能在3D網絡平臺中瀏覽[5]。
第三種模型設計方式是采用新興的三維激光掃描技術建模。該技術應用成本較高,主要用于對現有實體物件的三維外觀設計。該技術利用激光測距原理獲取實體目標的位置數據,進而快速、準確生成三維數據模型。三維激光掃描技術可以真實描述目標對象的整體結構及形態特性,具有不需要合作目標,高精度、高密度、高效率、全數字特征等優點[6]。
在現實世界,實訓課堂教學設備的定位分3個層級:第一級是課程名稱的定位;第二級是實訓地點的定位;第三級是實訓設備機位號定位。但是在三維虛擬網絡實訓課堂中,除以上3個層級外,還需要增加一個難度系數層級。所謂難度系數層級是指根據教學需要,把同一設備劃分成若干難度不同的實訓設備,以實現不同機位有不同難度技能訓練的目的。例如定位某個學生某門課程的學習進度,該系統將采用基于OpenURL(開放鏈接)位置查詢的APIS(應用程序接口)來獲取位置,以下為APIS返回的XML代碼:


賦予靜態的三維人物模型以生命力,這是三維虛擬網絡實訓課堂設計不可缺少的組成部分。目前主流的人物角色動畫控制技術是關節骨架控制技術[7]。該技術通過三維人物角色的關節,使其符合實際的物理規律。角色動畫有骨骼動畫和頂點動畫兩種類型。骨骼動畫比頂點動畫占用空間小,因為它不需要像頂點動畫那樣需存儲每一幀的各個頂點的數據,而是只需存儲每一幀的骨骼的數據。因此,在虛擬網絡實訓課堂系統中主要采用骨骼動畫設計技術,以非剛體運動方式模擬人物角色生動逼真的動畫。
三維虛擬網絡實訓課堂的實現主要需做好以下幾個方面的工作:(1)三維虛擬實訓場地環境的建設;(2)課程及設備資源的標注與定位;(3)Web3D系統與教學管理系統的數據庫接口設計。
三維網絡虛擬實訓課堂的主要功能模塊有5個。
(1)用戶管理模塊。不同的用戶角色具有不同的權限,可實現對系統的分級管理。超級管理員可操控其他用戶的功能權限,教師用戶可以對學生用戶進行協助學習過程控制。
(2)系統管理模塊。可實現對虛擬環境及實訓設備的增加、刪除和修改等功能,以及對系統的虛擬教學資源的更新等工作。
(3)實訓課程難度系數劃分與定位管理模塊。可實現將整個實訓過程分成若干個難度系數不同的單元,而后可將該單元附加到虛擬實訓設備上。
(4)定位管理模塊。可實現對課程有關資源信息(如課程名稱、實訓地點等)在三維虛擬環境中進行標注定位管理(如標簽集中分發、調整等)。
(5)數據庫接口管理模塊。可實現虛擬實訓課堂系統與教務管理系統的數據共享。常用數據包括課程數據、教師數據、學生數據、成績數據。
根據三維虛擬網絡實訓課堂系統的應用需求,系統Web應用服務器和數據庫服務器采用微軟公司的Windows 2008Server操作系統,數據服務器的數據庫系統采用微軟公司的SQL Server2005。系統開發環境使用微軟公司的Visual Studio 2010,該開發環境在研發基于.NET4.0動態網頁時可以減少代碼的輸入,并且可兼容多種程序設計語言。動畫整合設計充分利用了法國Dassault Systemes公司的Virtools實時三維創建工具進行動態計算、行為處理以及場景渲染。
三維虛擬實訓課堂系統利用XML技術,先將教務管理平臺數據庫按普通文件方式打開,讀出系統所需數據項,然后將數據通過數據轉換程序完成教務數據庫到虛擬實訓系統數據庫的轉換,并按新的數據格式存儲,從而在不損壞原數據的情況下實現數據共享。對于學生成績數據,也可以將虛擬實訓系統處理后的數據通過數據轉換接口存回教務管理系統數據庫中,具體實現過程如圖1所示。

圖1 跨系統數據共享
三維虛擬網絡實訓課堂的教學環境主要包括4類三維視圖,各視圖均以三維形態展示給用戶:
(1)實訓基地建筑三維視圖:展示完整的虛擬實訓樓外觀和內部的三維結構;
(2)教室內部環境三維視圖:展示不同專業實訓教室的三維空間結構及裝潢;
(3)實訓儀器設備三維視圖:展示實訓教室的儀器設備及機位編號;
(4)人物角色三維視圖:展示實訓參與人員,包括教師角色和學生角色。
由于各三維視圖的作用和使用方式不同,所以在系統實現過程中采用了不同設計方式。實訓基地建筑視圖、教室內部環境視圖因展現的內容和結構相對固定,修改頻次較少,因此采用靜態的三維視圖來完成;而人物角色、儀器設備視圖因需要重點體現交互式動畫設計,內容更新快,傳輸數據量大,因此對這兩個視圖采用動態三維視圖生成的方法完成,尤其是與實訓設備的交互操作三維動畫,主要采用基于VSL Sript(virtools scripting language)程序設計語言來完成[8]。
查詢功能主要指對實訓地點三維坐標的查詢和具體實訓單元標簽信息的查詢。當用戶在查詢框中輸入查詢條件后,系統的三維場景視圖中心點立即定位在對應的查詢位置。
利用Virtools生成的三維虛擬場景與Web3D網絡實訓平臺的數據交換是系統查詢功能實現的關鍵[9]。三維虛擬場景以對象的形式嵌入在3D網頁中,虛擬場景只能通過向網頁發送JavaScript腳本來實現與其相對應的功能[10]。該功能是通過Virtools自身的BBs(Building Blocks)功能來實現。下面編寫的是一個關于實現三維虛擬場景觸發網頁事件的函數模塊腳本程序。該程序利用OpenWindow()函數接受一個三維場景調用網頁上的JavaScript指令,Open-Window()函數原型定義如下:

以上程序表示用戶在網頁中瀏覽三維場景時,可實現在該場景頁面中彈出新窗口。用戶可在新窗口輸入查詢條件,從而實現數據從三維場景向服務器傳遞的功能。服務器端將查詢結果返回客戶端的代碼相對簡單,采用Response.Write()語句輸出到網頁即可。
對于服務器返回的信息,系統可利用Virtools自帶的DoCommand()函數傳達信息以激活三維虛擬場景對應的模塊,關鍵程序實現如下:

以上程序代碼實現了將網頁消息發送給三維場景中指定物體的功能。當網頁中發出的消息同時滿足SendMessage是message和ObjectName是lab1時,該程序就執行。系統通過Web getdata獲得課程在服務器上的地址字符串,并把該值傳遞給課程信息調用模塊,實現服務器端加載相應實訓設備模型到三維場景中,從而完成網頁信息和三維場景信息的傳遞,實現信息查詢功能。
利用Web3D支持JavaScript這一功能,在網頁代碼中編寫jsp腳本程序來實現人物角色的行進動作控制功能。下面就是一個利用鍵盤的W鍵對人物角色進行前進和停止的控制程序。

該程序利用onKeyDown和onKeyUp事件,判斷其中的switch(event.keyCode)的值來控制場景視角,從而實現角色的前進和停止動作。
Web3D技術和虛擬現實技術在網絡實訓類課程中的應用,對傳統網絡課程的建設形式和教學方式產生了重要影響。無論從網絡實訓課程內容的組織形式和表示方式來分析,還是從學生的學習心理特點來研究,基于三維虛擬技術的網絡實訓課堂的優點都非常突出。這種設計思想改善了網絡課程建設效果,提升了教學應用價值,給學生創設了一個全新的實訓環境。
(
)
[1]張麗霞,商蕾杰.虛擬課堂學習支架的類型及功能[J].中國電化教育,2011(4):27-31.
[2]葉家鳴,錢萌,程樹林.基于Catmull-Rom插值算法的二維圖像的三維顯示[J].計算機技術與發展,2007(10):234-236.
[3]馮清秀,夏俊力.基于OpenGL的交互式PLC虛擬實驗系統[J].實驗室研究與探索,2011,30(2):47-50.
[4]劉尚勤,顧耀林.基于X3D構建高效的虛擬場景[J].計算機工程與設計,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技術建設數字圖書館平臺的研究[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]陳琎,王勁飛,何興恒.利用四叉樹分割技術對二維圖像的三維轉換[J].計算機技術與發展,2006(1):52-54,58.
[10]何曲,楊潔,張紅燕.基于X3D的三維虛擬圖書館的構建[J].電腦知識與技術,2010(16):4511-4513.