嚴子淇 雷雨欣
(1.天津師范大學教育學部,天津 300000;2.天津師范大學計算機與信息工程學院,天津 300000)
增強現實技術是指通過在真實物體上疊加虛擬影像進而達到虛實融合等特點的技術[1],實現了在使用者的同一視野中虛擬事物與現實世界的融合與互動[2],能夠增強用戶對真實環境的感覺和認識[3]。而移動增強現實技術則是在傳統增強現實技術基礎上衍生出來的一個分支,是借助于智能移動端將屏幕上的虛擬世界與現實世界融合并進行互動的一種新興技術[4]。這種技術能夠將原本在現實世界的一定時間空間范圍內很難體驗到的視覺、聲音等多種實體信息通過計算機技術模擬仿真后融合,使用者感受到各種與現實世界融合的虛擬信息,產生超現實感的體驗[5]。相比于傳統增強現實技術,移動增強現實技術實現成本較低,使用方便,具有良好的實用價值,在教育、娛樂、醫療等多個領域得到了更為廣泛的應用。
移動增強現實技術具有以下特點:一是交互性強。移動增強現實技術實現交互的方式不再只是借助于鼠標鍵盤等設備,而是由精確的位置輸入擴展到整個環境,從單一的人機交互發展到用戶與對象的融合[5]。數字信息不再只是在屏幕上簡單呈現,而是與用戶所處的環境實時結合起來,極大地提高了用戶的沉浸式體驗感。二是配合了移動終端的使用。隨著移動互聯網、高性能處理器的發展,以及各類軟硬件設備環境的不斷完備,移動增強現實技術常常以智能手持設備作為應用平臺,如手機、平板等,在技術使用上擺脫了頭顯設備、手持設備等高經濟成本的局限,實現了增強現實系統的小型化和便攜化。
隨著移動增強現實技術的成熟,移動增強現實技術越來越多地應用于各個行業,在人們的日常生活中也越來越常見,虛實融合的優勢也讓其在教育領域中也逐漸擁有了重要地位。移動增強現實技術在教育領域中常以移動增強現實教育游戲的類型出現。如田元等開發的面向學齡前兒童的移動增強現實教育游戲ARTeddyMath[6],再如由喜訊無限公司開發的生物自然課學習軟件“蝶千尋游戲”[7]。移動增強現實教育游戲能夠通過創造現實世界與虛擬事物相融合的環境,適應多種形式的課外學習,為學習者提供身臨其境的體驗,使得學習者能夠感受到高度的虛實結合性與交互性,極大地激發學習者自主學習的興趣[8]。除此之外,移動增強現實技術在教育領域中的使用能實現學習者對復雜空間關系和抽象概念的可視化,幫助學生更好地發展高階思維能力[1]。
在“科教興國”戰略和建設創新型國家的大背景下,科普教育與學校科學教育不斷融合,科技館、科普讀物大量出現,使得科普教育逐漸走入我國青少年的學習生活中?!翱破铡庇址Q大眾科學或普及科學,是一種社會教育形式[9]。在這種社會教育形式逐漸普及的大背景下,也有學者于2011年提出,我國中小學,特別是農村中小學在科普教育中的主渠道作用沒有得到應有的發揮[10]。這主要是因為在當時科普教育對教學資源的要求較高,比較具有創新性的科普教育形式,如大型科技館等,大多僅在較為發達的城市可以見到。而對于一些經濟比較落后的農村地區,科普教育形式較為單一,缺乏有效模式,在培養學生的科學方法、科學精神、科學思想方面,顯得疲軟無力[10]。
一直以來,城鄉教育非均衡化發展都是困擾我國教育改革與發展的重大問題[11]。黨的十九大報告提出,要推動城鄉教育一體化發展,努力讓每個孩子都能享有公平而有質量的教育[12]。城鄉教育一體化是指統籌城鄉教育發展,整合城鄉教育資源,打破城鄉二元經濟結構和社會結構的束縛,構建動態均衡、雙向溝通、良性互動的教育體系和機制,促進城鄉教育資源共享、優勢互補,推動城鄉教育相互支持、相互促進,縮小城鄉之間的教育差距,有效消除地域、經濟等原因導致的教育不公平,改變農村地區教育的落后狀況,使均衡化的公共教育服務覆蓋城鄉全體居民,實現城鄉教育均衡發展、協調發展、共同發展[13]。因此,城鄉教育一體化的實質是教育的城鄉一體化,在不斷追求教育平衡發展的時代背景下,城鄉教育一體化能夠對城市、農村之間的教育資源進行有效的、科學的整合,進而逐漸縮小兩者之間的差距。現如今,隨著互聯網技術的不斷發展,在新媒體技術的推動下,農村兒童教育逐漸應用了現代遠程資源,使得教育突破了時空的限制,優質的教育資源在城鄉之間實現了共享,促進了教育公平,對于學生的未來發展起到了重要作用,也因此成為了城鄉教育一體化的重要手段之一[14]。
基于此,本研究設計并開發了一個基于移動增強現實技術的城鄉一體化自然科普游戲“自然探險家”,適合于學生在課外進行自然科普知識的學習。該游戲將移動增強現實技術與教育游戲相結合,以較低的成本創設相對真實的自然科學學習環境,培養學習者的科學探究能力,拉近和提高城鄉學生的生態保護知識水平并塑造正確對待自然的情感態度價值觀,最終實現寓教于樂、自然探索與教育公平。
“自然探險家”是一款基于移動增強現實技術的教育游戲。參與者在進行游戲前需要選擇不同的自然主題,如柳樹、海棠等,每一個主題都有相應的游戲內容。參與者需要在虛實結合的交互環境下通過尋找任務、回答問題,完成對某一自然主題“探險”的活動,更為真切地感受到自然的魅力,進而學習到某一主題的自然科普知識,塑造正確對待自然的情感態度價值觀。
2.2.1 游戲總體設計
結合自然科普主題的教學內容與教育游戲設計的一般模式,將教育游戲總體設計分為游戲主題設計、游戲規則設計、游戲任務設計、游戲邏輯設計、學習資源設計、游戲界面設計、游戲交互設計七個方面。其中具體功能設計上包括四個部分內容,分別是用戶登錄模塊、概念認知模塊、自主探究模塊、關卡小結模塊。案例開發的整體框架模型如圖1所示。

圖1 自然探險家案例開發整體框架
2.2.2 功能模塊設計
①用戶登錄
參與者進入用戶登錄頁面,注冊用戶成功后可以選擇開始游戲。在開始游戲前系統會對游戲流程及操作進行導讀,用戶需要觀看游戲規則并選擇想要參與的游戲主題。
②主題背景呈現
主題背景呈現這一功能是以動畫微課來給用戶呈現的。微課內容為自然科學故事導入,以用戶所選擇的自然主題為背景,提出一個與該主題相關的問題,用戶需要帶著問題進入到游戲中。這一功能的設計主要是為了引發兒童的思考,同時激發兒童對自然科學、生態保護的興趣。除此之外,任務驅動及時驗收兒童學習情況,提高兒童成就感、激發興趣、提高兒童的思維能力和科學素養。建立反饋機制,為兒童量身定做合適的學習方法及安排學習進度,提高學習效率。
③增強現實呈現
該游戲主要是基于移動增強現實技術設計的,游戲打破環境限制,將生態保護知識直觀呈現,使得用戶可以在更為真實的環境中進行游戲,感受到更為生動的自然現象。沉浸式的游戲模式也更加能夠激發兒童學習興趣。
④交互式練習
用戶在游戲活動結束后,會進入到交互式練習模塊,用戶需要完成幾道與游戲主題相對應的練習,通過用戶對不同答案的選擇分析用戶的學習情況,找出其知識薄弱點,給予不同的反饋并提供針對性的查缺補漏。同時也幫助用戶進行歸納、類比、整理、總結,提高教學質量和鞏固用戶的學習成果。
本項目采用Unity3d引擎。Unity 3d是現今游戲開發行業的主要開發引擎之一,可以支持多平臺,擁有插件支持豐富的特點,相較于Unreal、OGRE等引擎而言學習入門難度適中,平臺兼容性好,適合移動端開發[15]。增強現實模塊采用ARCoreSDK增強現實開發工具包,同樣支持多平臺使用,并提供圖片識別、平面檢測識別等功能。考慮到使用群體中Android用戶多于iOS用戶,在開發完畢后,項目最后被打包成安卓安裝包(.apk),即可在安卓手機上使用。
3.2.1 用戶注冊與登錄模塊
本項目具有云端存儲數據的功能。用戶進行注冊后,就可以在其他設備上使用同一賬戶。用戶數據存儲于云端服務器,服務器采用MySQL 數據庫對用戶數據進行存儲。MySQL 數據庫是一種輕量級的數據庫,采用完全的多線程編程,它的權限及口令系統十分靈活且安全,可以為用戶提供強大的備份功能,保證用戶數據的安全。
3.2.2 主題背景實現
當用戶登錄游戲,界面會出現以自然科普有關的動畫微課,引導用戶進入既定的場景中。Unity支持.mov、.mp4、.avi、.mpeg等多種視頻格式,并為開發者提供兩種視頻的播放方式,分別是在游戲對象中播放和在GUI 層面上播放。本項目采用第二種方式加入視頻,直接將腳本綁定在對象中,在GUI 中調用DrawTexture方法,并修改newRect以調整視頻大小。
3.2.3 用戶交互實現
當用戶打開攝像機與虛擬動植物進行交互時,軟件會自動出現提示框發布任務或介紹自然科普知識,幫助用戶完成自主學習。其中的提示框、任務清單等的呈現利用Unity 3d自帶的UI,嵌入在啟動、AR交互、學習任務選擇界面中,給予用戶操作指導,并且方便進行知識點總結。自主學習模塊中使用的彈窗主要包括消息框、提示框等,分為需要用戶點擊和自動消失不同類型等,分別適用于不同場景。
3.3.1 ARCore軟件開發包
本項目的增強現實模塊實現采用Google 發布的ARCore增強現實軟件開發工具包(SDK),可以支持多個平臺上的AR體驗。其主要技術原理是通過設備相機來識別一系列特征點,利用跟蹤手勢和分析傳感器檢測到的坐標位移來實現真實世界與虛擬物體的映射。ARCore除了可以識別特征點,還可以檢測平面,使用者只需要用手機攝像頭對準某一平面,即可在屏幕上與虛擬動植物進行交互。在開發方面,ARCore提供Unity3d平臺的API,實現系統開發需求。
3.3.2 平面檢測功能實現
本游戲主要利用ARCore的環境理解功能實現對平面的檢測,讓手機可以檢測平坦水平表面的位置和大小,使用戶只需要打開手機攝像頭,識別到平面后即可出現AR效果,進而根據界面提示完成后續操作,主要的開發流程如圖2所示。

圖2 平面檢測功能實現
首先需要在Unity3d 引擎中創建場景,刪除MainCamera及DirectionalLight,隨后將ARCore 的Prefabs 加入場景。Prefabs 的預制件主要包含GameObjects 及其相關聯的模塊,復用方便。在場景中添加時間系統后即可導入模型,其中模型來自Unity3d 自帶的資源庫AssetStore。其次是創建C#類AppController作為控制器,添加ARCore命名空間,緊接著創建三個方法,主要功能如下:一是檢查用戶的設備情況,比如相機有無權限,手機是否支持ARCore等;二是在用戶屏幕上顯示信息;三是檢查用戶的設備是否被有效追蹤,如果沒有就要設置將應用暫停,則被追蹤狀態將繼續保持。接著是制作平面Prefabs,首先給平面賦予一個材質紋理,方便實例化以后用戶可以直接看到這個平面,隨后添加渲染器來渲染檢測到的平面,ARCore中已經含有渲染器,只需要將其附加到平面上即可。在以上的操作下,打開Unity 3d的Hierarchy窗口,將平面拖動到Prefabs文件夾中,設置好平面的預置。隨后更新AppController 控制器來實現最終的對平面的視覺檢測。最后,在其中引用它的命名空間,并將新檢測到的平面和已檢測到的所有平面放置到兩個list 表中,并修改Update方法中的代碼即可[16]。
3.3.3 虛擬交互實現
用戶可以通過拖拽手機屏幕上的模型實現動植物模型的放大、縮小操作,這個功能可以利用Unity 3D 中的FingerGestures插件實現。在PackageManager中導入FingerGestures 插件包,并將FingerGestures 加入場景中,添加監聽器,通過OnPich獲取手指放大和縮小的路徑,并相應更改物體尺寸,再利用OnTwist 事件中獲取到的角度變化更改物體的大小即可[17]。
由于本游戲包括動物模型和植物模型,在模擬真實動物時,需要模型進行一定的運動,因此在選擇動物模型時著重選擇AssetStore中帶有動作的模型,并利用Unity 3d中的Animatior組件編輯模型的動作變化。
在Unity 3d 游戲引擎中選擇edit->preferences,將安裝好的sdk 和jdk 的路徑填入相應位置,在file->build setting->play setting中設置軟件圖標、版本號、名稱后,即可點擊build發布,生成.apk文件。
測試時,在移動終端(Android設備)中安裝apk即可運行游戲。經過測試,發現本游戲可以流暢地進行,用戶注冊與登錄達到預期,場景提示沒有缺失,設備相機檢測平面速度正常,動植物的增強現實效果較好,游戲整體具有一定穩定性、趣味性,基本滿足設計需求。測試結果如表1所示。

表1 游戲測試結果
移動增強現實教育游戲通過真實環境與虛擬模型的融合,為學習者提供了身臨其境的體驗,使得學習者能夠感受到高度的虛實結合性與交互性,極大地激發了自主學習的興趣。
本研究基于移動增強現實技術開發了一個自然科普游戲,該游戲具有用戶登錄、動畫播放、增強現實、環境感受、問題回答等功能模塊,以較低的成本創設相對真實的、具有交互性的自然科學學習環境,培養學習者的科學探究能力,拉近和提高城鄉學生的生態保護知識水平并塑造正確對待自然的情感態度價值觀,在不斷追求教育平衡發展的時代背景下,為城鄉教育一體化提供了思路。