□師 蕾 郝挺雷 林筑英
基于三維引擎的虛擬實驗教學系統交互模式研究*
□師 蕾 郝挺雷 林筑英
虛擬實驗教學系統的高交互性是關乎虛擬實驗教學成敗的決定性因素,采用三維引擎技術可實現智能化的沉浸感實時交互.以建構主義學習理論和遠程教學交互層次塔理論為指導設計了虛擬實驗教學系統的總體框架結構;基于三維引擎技術開發的虛擬實驗教學系統分別實現了虛擬實驗輔助支持、虛擬實驗操作智能交互和分布式人際交互等三種交互模式.本系統有效地解決了虛擬實驗教學的高交互需求問題,充分增強了學習者的智能化交互式學習體驗.
交互層次塔;Torque三維引擎;實驗輔助支持;碰撞檢測;分布式人際交互
虛擬實驗教學系統作為一種運用虛擬現實技術模擬真實實驗的網絡化計算機教學系統,融合了網絡教學的優勢,以其建設速度快、成本低、易于管理、容易共享等優點取得了飛速的發展.采用虛擬實驗教學系統,可以突破時間、地點和設備數量的限制,使學習者在一個更安全可靠的環境下做實驗,顧慮更少、自由度更大,有效地增強學習者的學習興趣、動手能力和分析問題、解決問題的能力.通過對國內外研究現狀及對現有的虛擬實驗教學系統進行分析[1~3],虛擬實驗教學系統還存在一些值得改進的地方,其中關鍵的一點是系統的智能化程度不能完全滿足學習者對系統交互性的較高需求.而虛擬實驗教學系統的高交互性是關乎虛擬實驗教學成敗的決定性因素.三維引擎有著強大的功能和成熟的虛擬環境交互實現開發模式,因此如何采用三維引擎技術開發虛擬實驗教學系統以實現系統的智能交互,滿足學習者的交互式體驗和沉浸感學習的需求就成為問題的關鍵.本文將遠程教學交互層次塔理論和Torque三維引擎引入虛擬實驗教學系統的創建中,并對系統交互相關的功能模塊的實現進行了研究.
學習是在教與學的相互作用中發生的,教與學的相互作用是通過教學交互實現的,因此虛擬實驗教學系統中各種交互的設計水平直接反映了教學的水平,也直接影響學習者的學習效果.虛擬實驗教學系統的本質是為學生的學習服務,所以系統的設計是必須在學習理論的指導下通過意義協商和共同建構來支持學習者實現有效地學習.虛擬實驗教學交互的理論基礎是建構主義學習理論和遠程教學交互層次塔理論.
建構主義認為知識不是通過教師傳授得到的,而是學習者在一定的情景即社會文化背景下借助其他人(包括教師和學習伙伴)或者利用必要的學習資料,通過意義建構的方式獲得的.建構主義學習理論認為"情景"、"協作"、"會話"和"意義建構"是學習環境中的四大要素和四大屬性[4].意義建構的實現需要交互性學習環境的支持,而虛擬實驗教學系統正是基于建構主義學習理論利用虛擬現實技術創設包括協作伙伴、指導教師、實驗儀器與實驗環境等仿真實驗情景,通過學習者與教師或學習伙伴之間、學習者與情景之間的交互作用實現新的意義建構.
虛擬實驗教學系統架構的各種交互模式是基于遠程教學交互層次塔理論構建的.陳麗教授提出的交互層次塔將遠程教學交互分成三個層面(如圖1):學生與媒體界面的操作交互、學生與教學因素的信息交互、學生已有概念與新概念的概念交互[5].操作交互體現在學習者的肢體對媒體的操作過程中;信息交互體現在學習者與某種教學要素之間,學習者通過各種符號進行有關學習的信息交換的過程中,它包括三種形式:學習者與學習資源的交互、學習者與教師的交互、學習者與學習者的交互,這三種形式的信息交互互相補充;概念交互是學習者頭腦中新舊概念之間的相互作用,新舊概念相互作用的結果產生學習者的同化和順化.

通過對圖1的分析可知,三種教學交互的關系是:操作交互是信息交互發生的條件,操作交互中的動作是由信息交互的需要和媒體界面的特征來決定.概念交互產生于信息交互的過程中,概念交互的水平和方向決定了學習結果,概念交互的結果將決定信息交互的內容和形式.所有類型教學交互的目的都是通過各種信息交互來促使概念交互的發生,并使結果朝著教學目標不斷接近,操作交互是這個過程的技術保障.
從操作交互、信息交互到概念交互,交互行為逐漸從具體到抽象、從低級到高級,高級的教學交互以低級的教學交互為條件和基礎.概念交互是虛擬實驗學習的起點和終點,操作交互和信息交互是虛擬實驗學習的外顯過程.遠程教學交互層次塔在一定程度上解釋了虛擬實驗交互的本質,借助該理論可以辨析虛擬實驗中各種交互現象的實際作用和相互關系,對虛擬實驗教學系統中交互的開發有重要的指導意義,也成為指導探索促進虛擬實驗教學交互的有效途徑.
Torque引擎是一款面向對象、基于OpenGL底層渲染技術、多平臺支持、室內外無縫結合、功能全面的專業三維引擎,是美國專門從事游戲引擎平臺開發的GarageGames公司的主導產品[6-7].Torque引擎的技術特色如表1所示.

表1 Torque引擎技術特色
通過表1可見,Torque具有強大的功能和成熟的虛擬環境交互實現開發技巧,其腳本系統為開發者提供了一個簡單宜用的開發環境和腳本/引擎接口,同時提供了世界編輯器、GUI編輯器等可視化的開發工具.例如Torque所特有的內建世界編輯器集成了所見即所得的世界地圖編輯功能,支持對象的構建、放置、大小調整以及旋轉功能,因此采用內建世界編輯器可以很好地實現虛擬實驗教學系統里虛擬實驗器材的選擇、放置、大小調整等功能.Torque所特有的在交互功能實現上有顯著成效的集成式、拖放式、所見即所得的GUI編輯器,專業的骨骼動畫系統和低廉的授權費用等都使其成為實現虛擬實驗教學高交互的最佳選擇.
根據建構主義和交互層次塔學習理論,設計虛擬實驗教學系統包括虛擬實驗輔助支持模塊、虛擬實驗操作模塊和人際交互模塊三個主要模塊.其中虛擬實驗輔助支持模塊主要為學習者提供實驗前的必要準備資料;操作模塊則為學習者創設相關的實驗"情景"和虛擬操作;人際交互模塊為學習者提供實驗過程中實時與非實時的"協作"和"會話".他們保證了學習者在虛擬實驗場景下完成新的"意義建構".
在教學交互層次塔的指導下,將操作交互、信息交互、概念交互融合于虛擬實驗教學系統各個模塊的創建中,構建出虛擬實驗教學交互系統總體框架(如圖2).虛擬實驗輔助支持模塊為學習者提供實驗操作之前的必備知識,以實現學習者與學習資源之間的交互.在學習者與學習資源交互的同時,將自己的原有概念和新的學習信息中包含的概念進行交互,以實現新舊知識之間的轉化.虛擬實驗操作模塊是虛擬實驗教學系統的主要部分,學習者通過自己的虛擬操作和系統給予的實時反饋,實現操作交互、信息交互和概念交互.人際交互模塊是虛擬實驗教學能否成功的決定性模塊,此模塊提供給學習者與學習者、學習者與教師之間的實時與非實時的人際交互,以此完成學習者新舊概念之間的交互,達到實驗目標.

虛擬實驗輔助支持模塊是學習者登陸虛擬實驗教學系統后對實驗的相關信息進行詳細地了解和學習的交互模塊.輔助支持模塊中將實驗內容介紹、實驗目標、實驗原理、實驗步驟和實驗應用等內容以文本知識框或演示視頻的媒體形式呈現給學習者,實現學習者與學習資源之間的交互以及學習者新舊概念的交互,使學習者能夠掌握本次實驗的相關詳細信息,并對其后的實驗操作有充足的理論支持和目標導向.
以《多媒體技術》課程為例,其中一個重要的實驗內容就是多媒體教室中各種多媒體設備的連接與組裝,這屬于實際操作類實驗[8].針對該實驗,本系統的虛擬實驗輔助支持模塊通過Torque引擎設計了GUI界面,其中實驗內容介紹、實驗目標、實驗原理、實驗步驟等信息以文本的形式提供給學習者,學習者只需用鼠標點擊相關的標題和索引,即可查看相應的文本內容.另外,實驗步驟還提供了部分關鍵操作的視頻教程,教師提前將實驗操作的幾個關鍵步驟在真實的實驗室進行操作,并將之錄制成視頻文件.學習者如果對抽象的文字介紹有不懂或者是難以理解的方面,只需用鼠標點擊并查看演示視頻即可獲得形象直觀的實驗操作指導.
Torque(v1.8.1)雖然不支持視頻媒體的播放功能,但是通過對引擎底層C++代碼的修改添加即可實現視頻的讀取和播放功能.本系統中"GuiAviBitmapCtrl::movieStart()"為視頻播放調用函數, "GuiAviBitmapCtrl::onRender(Point2I offset,const RectI&updateRect)"為視頻在引擎中的渲染函數.在腳本中添加"IntroVideoGui.gui"文件制作視頻播放GUI交互界面,并在腳本中添加動態屬性"parentGui="";",該屬性用來記錄視頻播放之前的場景,以便視頻播放完成后能夠返回到原來界面.視頻播放過程中可以通過鼠標單擊隨時結束視頻的播放,返回到原來界面,函數"GuiAviBitmapCtrl::on-MovieStopped()"用于實現視頻播放的停止;也可以等待視頻播放結束,自動跳轉到原來的場景.
虛擬實驗操作模塊要提供學習者控制的虛擬角色在虛擬實驗場景中任意的三維漫游功能以及對實驗場景中的實驗對象(如實驗器材等)進行諸如細節查看、選取、移動和擺放等實驗操作.其中最重要的是虛擬實驗操作智能交互功能,即學習者在進行實驗的過程中,三維引擎對其實驗操作進行行為檢測和判斷分析,并給學習者提供實時的操作結果智能反饋,以使學習者能夠及時知道自己的實驗操作是否正確.
Torque引擎本身具有強大的編輯系統,可以通過繼承其自身所具有的場景編輯器相關功能實現虛擬實驗操作所要求的實時交互功能.比如在腳本語言中定義"function serverCmdSelectObject(%client,% mouseVec,%cameraPoint)"函數實現對場景中任意對象的選取,通過"function PlayGui::onMouse-DoubleDown(%this)"函數實現雙擊查看被選中對象的名稱、作用和注意事項等實驗基本參數的介紹.
為了增加場景的真實感,在虛擬實驗操作過程中要避免穿墻或者學習者角色模型穿過實驗儀器的行為,碰撞檢測是最為重要的一項.Torque支持高級碰撞檢測,在Torque中使用"containerRayCast (…)"函數來進行場景中的碰撞檢測.基本原理是:引擎有一個全局的碰撞盒容器,每個"sceneObject"被創建的時候,不僅會被加入到"scene-Graph"進行渲染,而且還會被加入到一個碰撞盒容器中,物體的碰撞盒是從模型中解析的.確定碰撞盒的算法是利用一次矩(均值)和二次矩(協方差矩陣)統計量來計算它的位置和方向[9].設第i個三角形的頂點矢量為pi,qi和ri,碰撞盒包圍的三角面片數為n.則碰撞盒的中心位置為:

協方差矩陣元素:


由于C是一個實對稱矩陣,所以矩陣C的特征向量是相互垂直的,可以作為碰撞盒的方向軸.把將要檢測的碰撞模型的頂點向方向軸上投影,找出各方向軸的投影區間,各投影區間的長度就是所求碰撞盒相應的尺寸.學習者控制的虛擬角色模型在場景中向前走動時,實際上是在碰撞和容器中產生一條射線, Torque再利用線面相交檢測算法,檢測到哪個面最先與射線相交,從而得知該射線所碰撞到的物體,從而實現了碰撞的實時監測功能.
借助Torque引擎的邏輯推理能力將虛擬實驗操作智能交互設置為一個包括感知模塊、控制模塊和執行模塊的模型,構建較為完備的內部控制機制,解決實驗操作中的過程規劃和智能響應問題(如圖3).在學習者控制的虛擬角色進行實驗的過程中,感知模塊的"function Operation::getOperationState(%this, %obj,%position)"腳本函數對其操作進行檢測,控制模塊的"function Operation::osAnalysis(%this,% obj,%operationType)"腳本函數據檢測結果進行判斷并生成解決策略序列,執行模塊的"function Operation::operationExecute(%this,%obj,%operationType,%osAnalysisRuslt)"腳本函數通過調用虛擬角色或實驗器材的相關三維動作文件并渲染到場景中實現對學習者的實時實驗結果反饋.例如當學習者操作不正確時實驗操作反饋功能會對操作的錯誤進行分析,調用相應的錯誤結果生成動畫場景,并且通過GUI呈現給學習者應該采取的更正措施以幫助其進行正確的操作,如此往復,直到學習者操作成功.

人際交互是指人與人之間的相互交流與相互作用[10].虛擬實驗教學中的人際交互從時間維度上來說包括實時人際交互和非實時人際交互;從參與者維度上來說包括教師與學習者之間的交互、學習者與學習者之間的交互.分布式的學習者通過與自己的同伴、教師之間的交流,對原有的概念有了更加深入的認識,促進新舊概念之間的轉換[11].人際交互貫穿于虛擬實驗教學的始終,直接影響著學習者的動機、學習態度、對實驗學習的滿意度、批判性思維能力、問題解決技能以及更高層次的認知處理能力(如圖4).因此,如何在虛擬實驗教學系統中實現即時通訊(聊天)功能至為重要.

虛擬實驗教學中要想實現在線即時通訊必須要實現網絡聯機功能,本系統中通過"function InitHTTP ()"和"function GameConnection::initialControlSet (%this)"腳本函數實現服務器端網絡服務器設置的初始化,然后客戶端"function GetWebInfo(% thePageName)"腳本函數實現與服務器網絡的連接及網絡信息的獲取,最后通過"function Game-Connection::onConnectionAccepted(%this)"來判定客戶端網絡是否連接上了服務器端.如果已經連接成功,分布式的學習者就能夠在系統中進行在線即時通訊交流了."functionMessageHud::open(% this)"實現將系統聊天的窗口內嵌到整個系統的場景中,"function onChatMessage(%message,% voice,%pitch)"腳本函數實現了將所有的分布式學習者輸入的聊天信息全部顯示在每臺已經連接到服務器上的客戶端顯示界面中,這樣便實現了分布式學習者之間的人際交互.
本虛擬實驗教學系統的總體框架是在建構主義學習理論和遠程教學交互層次塔理論的指導下設計的,既保證了框架設計的科學性又充分考慮到了學習者對各種交互的需求.基于三維引擎技術實現了虛擬實驗教學系統設計虛擬實驗輔助支持、虛擬實驗操作智能交互和分布式人際交互等三種交互操作模式.結果表明,三維引擎有效地解決了虛擬實驗智能性和交互性不足的缺點,滿足了虛擬實驗教學所需要的各種交互需求,三維引擎能夠用以開發智能性和高交互的虛擬學習系統.
[1]劉筱蘭,張薇,程惠華等.虛擬實驗室的類型及發展趨勢[J].計算機應用研究,2004,(3):8-10.
[2]R Chellali,C Dumas,Nicolas Mollet,et al.A Virtual Classroomfor Collaborative and Distant E-Learning Systemby Teleoperating Real Devices[J].International Journal of Computer Games Technology, 2009:1-9.
[3]A S DRIGAS,L G.KOUKIANAKIS,J G GLENTZES.A virtual Lab for Hellenic cultural heritage:proceedings of the 5th WSEAS Int.Conf.on Artificial Intelligence,Knowledge Engineering and Data Bases,Madrid, Spain,2006[C].Wisconsin:World Scientific and Engineering Academy and Society(WSEAS),2006:291-296.
[4]高文.教育中的若干建構主義范型[J].全球教育展望,2001,(10):3-9.
[5]陳麗.遠程學習的教學交互模型和教學交互層次塔[J].中國遠程教育,2004,(3):24-28.
[6]Kenneth C,Finney.3D Game Programming All in One[M].Florence: Course Technology PTR,2004:19-23.
[7]A brief summary of what Torque 3D has to offer.[2010-02-20].http:// www.torquepowered.com/products/torque-3d
[8]林筑英,林建勤,歐曉鷗.多媒體技術及應用[M].北京:中國電力出版社,2008.
[9]陳學文,丑武勝,劉靜華等.基于包圍盒的碰撞檢測算法研究[J].計算機工程與應用,2005,41(5):46-50.
[10]陳麗.術語"教學交互"的本質及其相關概念的辨析[J].中國遠程教育,2004,(2):12-16.
[11]謝云,邱婷,何玲.網絡協作學習中的人際交互策略[J].遠程教育雜志,2009,(2):63-65.
郝挺雷,碩士研究生,華中師范大學國家數字化學習工程技術研究中心(430079).
責任編輯 鄭重
G40-057
A
1009-458x(2010)08-0070-05
貴州省自然科學基金項目《虛擬實驗室真實感圖形技術的研究》(黔科合J字LKS[2009]14號) 2009年貴州師范大學研究生專項創新基金重點項目《基于Agent的智能虛擬實驗教學研究》(研[2010]10號)
2010-04-15
師蕾,碩士研究生;林筑英,教授.貴州師范大學數學與計算機科學學院(550001).