【摘要】虛擬實驗豐富了實驗教學的教學模式和學習方式,為實踐教學的創新提供了新的平臺和拓展空間。結合國家精品課程《現代教育技術》的建設,以認知科學及建構主義學習理論為基礎,提出了利用虛擬現實及多媒體技術構建虛擬實驗室的開發方案,并對系統的開發流程進行了探討,在此基礎上采用Virtools技術設計了虛擬實驗室原型。最后以實例描述了虛擬實驗開發的關鍵技術。
【關鍵詞】虛擬實驗;建構主義;Vitrtools;Moodle
【中圖分類號】G434 【文獻標識碼】B 【論文編號】1009—8097 (2008) 02—0115—06
《現代教育技術》以培養未來教師的教育技術理論、教育技術技能為根本目標,是我國高師院校教師教育課程體系中一門重要的公共基礎課程。浙江師范大學的《現代教育技術》課程于2004年進入國家精品課程行列,在這一理論與實踐并重的課程中,如何加強并完善實驗教學已成為精品課程建設中的重要環節。為了豐富和完善實驗教學體系,更有效地推動該課程的實驗教學,我們開始了“現代教育技術”虛擬實驗室的研發,設計并實現了“現代教育技術”虛擬實驗系統原型。
隨著虛擬現實技術的發展,虛擬實驗在實驗教學中得到越來越多的應用,國內外學者在這方面做了大量的研究工作[1-6]:文[1][2][3]進行了虛擬實驗的交互設定和網絡體系結構的研究,文[4][5][6]介紹了對象、建筑物、自然環境的構建方法。文[1-6]有一個共同特點,即均采用VRML(Virtual Reality Modeling Language)技術。由于目前VRML不提供可視化開發環境,基于VRML的虛擬現實可視化工具還有待進一步研究[7][8],開發者必須從VRML提供的基本形體出發搭建復雜場景;雖然3DS Max和Maya等建模工具提供導出VRML的*.wrl文件格式的功能,但后期的文件優化耗時費力;以VRML為基礎的基于Java技術通過EAI(External Authoring Interface)進行的交互控制,要求用戶必須熟悉Java語言以及VRML的交互編程,因此,基于VRML或采用高級語言如JAVA、C語言等實現虛擬實驗系統[9][10][11][12],在實際開發過程中存在難度大、實現復雜、輔助功能不強等諸多問題,易用性和實用性都不甚理想。
基于PCS (Product-Context-Scenario)技術的Virtools Dev采用非常直觀的方式呈現3D內容[13],為研發人員提供了一個便捷的整合、溝通與分享三維體驗的開發平臺,在可視化開發環境方面有明顯的優勢。本文針對上述的不足,在充分調研的基礎上,本著“技術設計為教學設計服務”[14]的原則,提出了3D-Virtools-Moodle構建虛擬實驗室的架構方案。即在3DStudio Max中完成虛擬實驗室、教學媒體設備的三維建模、動畫制作;在Virtools Dev中進行相關數據處理、三維對象的控制及交互設定;在Moodle教學管理平臺中實現虛擬實驗的績效評估和教學管理。結果表明,采用該架構方案能克服上述方法的不足,具有真實性、交互性、簡單和易實現等特點。
一 虛擬實驗系統總體設計
1 設計目標
“現代教育技術”虛擬實驗室的設計目標是,改變高校現有實驗教學中普遍存在的生均實驗設備擁有量、設備更新周期以及學習時間沖突等根本問題[15],切實貫徹教學改革目標,以認知科學及建構主義學習理論為基礎,利用虛擬現實及多媒體技術構建三維虛擬實驗環境,為學生提供一個具有強烈真實感以及強大交互功能的“現代教育技術虛擬實驗室”(見圖2),支持探索學習、協同學習、經驗學習等基于建構主義學習理論概念,并提供知識獲取工具。
主要特征有:①對實驗室、實驗儀器及附屬設施,按實際尺寸進行三維建模,并以三維空間向量形式表示各實驗模型形體和位置的相對關系;②支持實時交互功能。實驗者可以通過鼠標、鍵盤完全操控場景中實驗者的虛擬化身,實現從不同角度觀察對象,以及漫步、轉身、抬頭、低頭以及跑、跳等功能,為探索學習、經驗學習提供支撐;③支持多媒體信息輔助,通過設置3D音效、背景音樂、多用戶實時對話,構建一個逼真的三維虛擬世界;④知識庫,為學習者的知識獲取、形成意義建構提供技術支持;⑤通過Moodle平臺實現對實驗行為、結果的績效評估。
2 系統組織結構
虛擬實驗室依據《現代教育技術》課程實驗的要求進行開發,主要由虛擬實驗手冊、虛擬實驗項目、虛擬教學媒體模型庫、知識庫以及Moodle管理平臺五大模塊組成。系統的組織結構如圖1所示。

虛擬實驗模塊:包括常規媒體、多媒體教學環境、素材采集與處理、課件開發、網頁設計與制作五個基礎實驗,以及自適應輔助工具集。學生在虛擬實驗環境中按實驗步驟完成整個虛擬實驗,允許多次重做,直到熟練為止。圖3為虛擬實驗之一的常規媒體虛擬實驗主界面。虛擬實驗手冊模塊:介紹每個虛擬實驗項目的學習背景、學習目標、學習任務、具體操作步驟,操控字母鍵的含義,以及虛擬實驗環境的漫游、操控方法。教學媒體模型庫模塊(圖4):虛擬實驗中常用的教學媒體設備,主要有:光學投影儀、數字投影儀、實物展示臺、多媒體教室綜合平臺等。通過鍵盤上的方向鍵可實現從各種不同角度觀察媒體設備的構造,通過鼠標點擊模型上的按鈕、開關實現交互,以此了解教學媒體設備的主要構造及操作。知識庫模塊:包括《現代教育技術》國家精品課程(http://course.zjnu.cn/met/index.asp)、《現代教育技術—技能訓練》學習網站(http://course.zjnu.cn/met/jinengxunlian/ index.htm)、部分教學視頻以及教學案例庫等。主要通過二維的文本及視頻信息讓學生了解實驗背景、充分掌握每個實驗的相關信息。Moodle管理平臺模塊:動態記錄和管理學生的實驗過程,關注學生在實驗過程中的投入程度和過程性評價。通過平臺內嵌的評價反饋功能及時核查學生報告中的實驗行為,監督和考評學生的實踐技能。

二 虛擬實驗的開發方法
Virtools是由法國全球交互三維開發解決方案公司Virtools所開發,透過可視化的圖形開發界面,開發人員只需要拖曳所需要的行為模塊就可以建構出復雜的交互應用程序。可同時滿足無程序背景的設計人員以及高級程序設計師的設計需求,讓3D美術設計與程序設計人員進行良好的分工與合作,有效縮短開發流程、提升效益。由于軟件內置超過500組的行為模塊,可以讓使用者快速設計出多樣的3D數字媒體內容。其三維引擎已成為微軟XBox認可系統。其特點是方便易用,應用領域廣。
本系統開發所應用的主要是Virtools的主開發程序Virtools Dev。
1 開發平臺Virtools簡介
開發工具是否合適,對能否實現預定目標非常重要。
虛擬實驗作為整個系統的核心模塊,數據處理量大、交互頻繁。我們采用Virtools DEV作為開發平臺,理由有三:① Virtools的三維引擎己經成為微軟XBox認可系統,其特點是方便易用,應用范圍涵蓋游戲開發、數字娛樂、工業設計、新媒體藝術、視景仿真等多元領域,已有賽伯麗亞(Syberia)[16] 和國際象棋在線(Online Chess Kingdoms)[17]等成功的開發案例;② Virtools在3D互動展示方面技術強大、組成完善,主要由創作應用程序、動作引擎、渲染引擎、Web播放器、軟件開發工具包構成;③除了自身的3D/VR開發平臺Virtools Dev以外,還有5個可選模塊:網絡服務器Virtools Server、物理屬性Physics Pack、人工智能AI Pack、游戲開發XBox Kit和沉浸式平臺VR Pack,為虛擬實驗室的預期功能實現及拓展開發提供技術保障;④界面直觀、使用容易。Virtools包含有500多個行為模塊 ( Building Blocks,簡稱BBs),并提供重力、摩擦力、彈力、力場等多種物理屬性設定,這些功能大大縮短了開發周期,避免了繁復冗長的動態交互設定與程序代碼的撰寫,只需通過簡單的拖、拉、放,就能完成對象的物理屬性和行為的設定。
Virtools提供給開發者的是一個整合了多樣化技術的單一使用界面,上手容易,符合采用“大眾化技術”來實現虛擬實驗室的開發原則。
2 Virtool設計虛擬實驗的關鍵環節
(1) 三維建模及Virtools資源庫的建立
虛擬實驗環境的構建主要是指實驗室及媒體設備模型的構建。由于Virtools本身自帶的基本圖元建模功能不強,所以建模一般是采用3DStudio Max、Maya等建模功能較強的三維動畫軟件來實現。筆者采用在3DStudio Max創建三維模型,并完成材質、貼圖及動畫關鍵幀的設定,通過安裝好的插件導出文件,并以Virtools Dev的資源文件格式*.NMO保存;然后將NMO文件導入到Virtools的3D Layout(三維編輯區)進行交互設定。
在Virtools Dev中用Resources/ Create New Data Resources創建新的資源庫,把準備好的各種*.nmo資源文件拷貝到資源庫相應的文件夾中,Virtools Dev將自動分類并加載。這步工作是為在Virtools中進行拖放操作做好前期準備。對每個不同的虛擬實驗項目應建立單獨的資源庫,這樣更便于后期的修改更新及文件管理。
(2) 用行為模塊實現交互控制
虛擬實驗操作步驟可以歸結為模型對象的交互設定問題。具體來說,就是將實驗步驟分解成具體動作,并與鍵盤的操控和鼠標的拖曳、點擊等動作構成映射。交互設定是通過Virtools中內置行為模塊實現的,能夠對二維或三維模型進行各種基本操作,如平移、旋轉、縮放、顏色和透明度變化、二維貼圖等,復雜操作如投影、燃燒、行走、奔跑、后退等。
在Virtools Dev中進行交互設定的最大特點,就是行為模塊之間只需通過相互連接便能形成靈活的互動效果。每個行為模塊(BBs)封裝了特定的作用和功能,把許多功能不同的行為模塊用相互連接的方式進行編輯,即可實現虛擬實驗的要求。
一般情況下,Virtools自帶的BBs已基本能滿足設計的要求。另外,還有兩種方法可以設計出具有特殊功能的BBs來滿足交互設計的要求:一種是通過VC++編程[18]另一種是利用Virtools的軟件開發工具包SDK,通過SDK,可以創建一個新的動作(BBs)、修改現有動作的運行、通過給輸入和輸出文件寫BBs可實現一些特殊格式的模型文件的導入導出、修改替換或擴充Virtools Dev的渲染引擎。
(3) 虛擬實驗的發布
虛擬實驗室一般由兩部分組成:一是虛擬實驗環境,二是具體的虛擬實驗。其中,虛擬實驗環境是指由三維建模構建的虛擬實驗空間,如門窗、墻、地板,以及置放其間的實驗臺、實驗儀器設備等;具體的虛擬實驗則是指對模型的交互控制,兩者共同構成完整的虛擬實驗室。
虛擬實驗在完成建模及交互設定后,可以采用兩種方式進行發布:一種是通過“Export to Virtools Player”命令直接保存為*.vmo格式;另一種是通過“Creat Web Page”命令,將文件保存為htm格式。這樣,客戶端只需下載并安裝插件“3D Life Play”即可進行虛擬實驗。
三 具體實現案例
三維虛擬實驗環境,能讓學生從三維空間對設備進行全方位的觀察并進行交互操作,加深對設備的結構、使用方法的理解和掌握。下面通過實例說明利用Virtools實現虛擬實驗系統的關鍵技術。
1 虛擬實驗環境基礎屬性的實現
(1) 用戶(User)的基礎屬性設置。虛擬角色不能漂在空中,也不能穿透實體對象,為此,需設定角色始終在地板上,能對實體對象進行碰撞檢測,同時,可通過鍵盤實現對虛擬角色的控制。建立用戶腳本,設定相關參數,所需的BBs為:Enhanced Character Keep On Floor、Keyboard Controller、Prevent Collision、Key Event、Send Message,具體的腳本流程如圖5所示。
(2) 實驗室大門的自動啟閉

用戶走近實驗室大門,門自動開啟;進入實驗室后,門自動關閉。為門Door建立腳本,所需的BBs為Proximity、Nop以及封裝的行為模組OpenDoor和CloseDoor,親近度檢測模塊Proximity用于檢測用戶與門的距離,門的初始狀態為關閉,用戶走近大門并距離小于5米時門打開,離開大門并距離大于5米時關閉。大門腳本流程如圖6所示。

(3) 虛擬實驗環境漫游
通過鍵盤上的方向鍵控制角色的前進、后退和左傳、右轉,攝像機跟隨角色的運動,從而實現漫游虛擬實驗場景的目的。建立漫游攝像機腳本,設定相關參數,所需的BBs為Keep At Constant Distance、Look At,漫游攝像機腳本流程如圖7所示。

2 實物展示臺虛擬實驗的實現
實物展示臺虛擬實驗場景由虛擬角色、實物展示臺、置于實物展示臺上的書本和茶壺以及投影屏幕組成。展示臺初始狀態為鏡頭和側燈均收攏于展示臺面板上。當用鼠標單擊鏡頭和側燈時,鏡頭和側燈展開到工作狀態,同時側燈燈光打開,再次用鼠標單擊,則復位到初始狀態;鏡頭展開到工作狀態后,將實物展示臺上的書及茶壺投影到屏幕上;當用鼠標拖曳書本和茶壺對象時,屏幕上的圖像跟隨實時變化。圖8、圖9為實物展示臺實現效果。

(1) 實現鼠標單擊控制鏡頭和側燈的展開和復位。鼠標單擊鏡頭展開、再次單擊復位,所需的BBs為:Wait Message、Sequencer、Send Message、Unlimited Controller,腳本流程如圖10所示。側燈的展開和復位動作的腳本流程和鏡頭很相似,不再贅述。

(2) 實現將實物對象投影到屏幕。建立攝像機RT Camera,并為RT Camera建立腳本,設定相關參數,所需的BBs為:Wait Message、Sequencer、Delayer、Keep Active、Render Scene in RT View、Set MipMap Texture、Change Texture Size,腳本流程如圖11所示。

(3) 實現鼠標對實物對象的拖曳操作功能:為書本對象建立腳本,設定相關參數,所需的BBs為:Wait Message、Mouse Waiter、2D Picking、Keep Active、Place Entity Under Mouse,腳本流程如圖12所示。茶壺對象的腳本與書本的相似,此處略去。

3 其它技術在系統開發中的應用
應該指出,僅用純3D虛擬現實技術來開發整個虛擬實驗系統并非上佳方案,因為,諸如“素材采集與處理”、“課件開發”、“網頁設計與制作”等基于軟件平臺的操作型實驗,用純3D技術開發一是沒有必要,二是實現效果也不一定理想。因此,在虛擬實驗系統的開發過程中,我們綜合采用了流媒體、Flash以及多媒體技術,以實現3D技術和多媒體技術的優勢互補。如在“素材采集與處理”、“課件開發”等虛擬實驗模塊,主要以流媒體播放的形式實現。
綜上,常規媒體虛擬實驗,利用鍵盤上的方向鍵即可實現虛擬實驗室的漫游,僅用鼠標的單擊或拖曳操作,即可進行實物展示臺虛擬實驗的操作,真正實現了在逼真的三維虛擬環境中進行人機動態交互的虛擬實驗。
四 結束語
《現代教育技術》虛擬實驗系統在實際教學中的使用,一方面能緩解設備更新壓力、提高實驗效率,另一方面,進行虛擬現實教學,能有效的發揮學生的各種感官作用,使學生接受更多、更具體、更完整的信息,從而更加深刻地認識事物,將原來單純的媒體操作技能轉變為將媒體使用技能與學科教學整合能力的綜合訓練,提高學生的教育技術應用技能。由于虛擬實驗系統能夠有效地創建學習情境、支持合作、方便交流、促進知識表達和應用,是一個非常優良的建構主義學習環境,有著巨大的教育應用潛能。它不但可以模擬真實實驗,還可以做出真實實驗無法實現的內容[19],虛擬現實技術在教育領域的應用和發展,豐富了現有教育體系中教與學的表現形式[20],有助于學生的知識理解能力、問題分析能力以及新知識探索和運用能力的提高。它對轉變傳統教學觀念,切實貫徹教學改革起到了積極的推動作用。本研究希望通過“現代教育技術虛擬實驗室”所提供的三維虛擬實驗平臺,讓學習者能夠不受時空制約、身臨其境地操控場景中的實驗對象來完成課程實驗,也為同類虛擬實驗室或相關學習資源的開發和應用提供思路和借鑒。
參考文獻
[1]盧潔,游運華,馬燕,王傳華.基于VRML的動物解剖虛擬實驗的交互設計[J].計算機仿真,2007,(2):266-268.
[2]謝紅薇,于曉霞,李三燕等.Java與VRML結合實現煤礦事故救援系統的交互控制[J].電腦開發與應用,2007,(1):44-46.
[3]楊彥軍,趙瑞斌,周海軍.基于jsp-vrml-java技術的網上虛擬情境性學習平臺的建構[J].現代教育技術,2005,(5):58-62.
[4]Shake-A-Leg Foundation.Virtual Access Model[DB/OL].
[5]B.Campbell, P.Collins, H.Hadaway, etc. 3D Technologies for the World Wide Web[C].The 7th International Conference on 3D Web Technology, 2002. 85-91.
[6]David Rnadeau. Building Virtual Worlds with VRML[J].IEEE Transactionson Compueter Graphics and Applications, 1999,
19(2):1-29.
[7]魏東,黃有群.基于VRML的可視化虛擬場景生成工具的研究[J].系統仿真學,2005,(1):72-74.
[8]王汝傳,孫開翠,辛晨均等.基于VRML的可視化工具的研究[J].系統仿真學報,2001,(13):476-478.
[9]John R. Lee, Andrew B. Williams. The Very Best Papers from CASA 2004 [C]. Chichester, UK. John Wiley and Sons Ltd. 2004: 327-337.
[10]J.Fischman. Working the Web With a Virtual Lab and Some Java[J]. Science, 1996,(273) :591-593.
[11]D.Shawver, S. Stansfield. The First Workshop on Simulation and Interaction in Virtual Environments[C], US. The University of Iowa, 1995: 120-125.
[12]徐雋,翟正軍,杜高鵬.分布式虛擬實驗室的構建[J].科學技術與工程,2006,(5) :636-638.
[13]Southwest.Virtools技術[DB/OL],
[14]葉志宏.網絡課程的設計原則—對《中國法制史》網絡課程設計的思考[J].中國電化教育,2002,(3):63-65.
[15]黃立新,張劍平.國家精品課程“現代教育技術”實驗教學的組織與實施[J].中國大學教育,2006,(8):13-14.
[16]愛迪斯通.《塞伯利亞之謎2》[DB/OL].
[17]愛迪斯通.運用 Virtools 開發的第一款 PSP#8482; 游戲“Online Chess Kingdoms”[DB/OL].
[18]Huang Sixian. 用VC++6.0來寫Buliding Blocks的方法,
[19]H. H. Saliah, L.Villardier, B.Assogba, et al. Resource Management Strategies for Remote Virtual Laboratory Experimentation [A]. Proceedings of the 30th Annual Frontiers in Education Conference[C]. Kansas City: 2000: T1D/8-T1D/12.
[20]Bell J.Recent,Developments in Virtual-Reality-Based Education[A], Proc American Society for Engineering Education Annual Conf, Washington[C], DC,1996.