閆興亞王馨梅魏夢婕
(1.西安郵電大學數(shù)字藝術學院 西安 710121)(2.西安郵電大學計算機學院 西安 710121)
虛擬現(xiàn)實[1](VirtualReality,VR)也稱靈境技術或人工環(huán)境,是在計算機系統(tǒng)及傳感器技術模擬的基礎上生成可進行交互、相互影響的數(shù)字化環(huán)境,實現(xiàn)的是一種嶄新的人機交互狀態(tài),通過對虛擬世界中的物體進行操作,參與其中的事件,并同時提供視、聽、觸覺等直觀而又真實的感受和體驗。隨著近些年來虛擬現(xiàn)實技術的快速發(fā)展,人們將虛擬現(xiàn)實應用于很多領域,如建筑、醫(yī)療、教育等等。在應用于教育上時,虛擬現(xiàn)實對使用者的學習具有巨大的輔助和促進作用[2]。首先,虛擬現(xiàn)實提高了知識呈現(xiàn)的情境性與直觀性;其次,它可以為使用者提供豐富多樣的個性化學習環(huán)境,踐行“因材施教”的教育理念;再次,它可以融合游戲化的特征,為使用者提供主動探索的機會,提高使用者學習的內在動機。
虛擬現(xiàn)實技術較早被歐美的一些國家應用于教育——自20世紀80年代以來,美國國立醫(yī)學圖書館進行了人體解剖圖像數(shù)字化研究、西班牙大學開發(fā)了虛擬電子儀器工作平臺、新加坡大學開發(fā)了遠程示波器、德國漢諾威大學建立了虛擬自動化實驗室、意大利帕瓦多大學建立了虛擬教育實驗室、澳大利亞和新西蘭于2009年合作成立的虛擬現(xiàn)實工作組和美國林登實驗室的Second Life項目等[2]。VR被NMC的《地平線報告:2016高等教育版》認為是未來2~3年解決深度學習矛盾的關鍵技術[3]。VR能適應學習媒體的情景化及自然交互的需求,定制與現(xiàn)實社會類似的環(huán)境,帶給學習者更多直觀的、過去很難實現(xiàn)的學習體驗。
基于此,本文采用3DMax作為建模工具,選用Unity3D游戲引擎為開發(fā)平臺,使用HTCVive作為輸出設備,設計、開發(fā)了基于虛擬現(xiàn)實的絲綢之路教學系統(tǒng),并且探討三維場景建模及交互設計中的關鍵技術。
虛擬現(xiàn)實絲綢之路交互系統(tǒng)的開發(fā)遵照軟件開發(fā)流程,可分為兩大階段:第一階段是分析系統(tǒng)模塊與對素材的收集整理,構建絲綢之路相關的三維模型,主要是利用三維建模軟件3DMax和圖片編輯軟件PhotoShop,完成的模型以FBX格式導入到Unity工程中。第二階段包括兩方面:一是搭建場景,其主要工作為搭建絲綢之路涉及沿線的城市地理位置分布、周圍環(huán)境、碰撞檢測等。二是在虛擬三維場景中實現(xiàn)用戶與環(huán)境之間的交互,主要工作是采用C#語言編寫交互腳本將靜態(tài)的三維模型與各模塊連接起來。系統(tǒng)開發(fā)的詳細流程如圖1所示。
虛擬絲綢之路的設計目標是給用戶提供一個絲綢之路仿真環(huán)境,并讓用戶與環(huán)境之間進行交互,從而達到用戶對知識的理解和掌握。虛擬絲綢之路的設計如下。
用戶通過HTC Vive設備來體驗該教學系統(tǒng)。HTC Vive是一款虛擬現(xiàn)實頭戴式顯示器,它能通過三個部分來給用戶提供沉浸式體驗:一個頭顯、兩個手柄和一個在空降內同時追蹤頭顯與手柄的定位系統(tǒng)(Lighthouse)??紤]到硬件和軟件設備的流暢,其場景不易過大,本文將絲綢之路劃分為六個子場景。
圖1 系統(tǒng)開發(fā)流程
絲綢之路總路線展示模塊??偮肪€場景三維地展示了絲綢之路的沿線城市的走向及古今城市名稱,通過矢量坐標來計算出城市間相對位置,盡量接近現(xiàn)實,讓用戶對絲綢之路走向有一定認知。
城市漫游模塊。用戶通過佩戴HTC Vive設備,可以在現(xiàn)實空間里隨意走動游覽對應著在虛擬場景中的漫游,或者用手柄來直接到達指定區(qū)域。
城市資料展示模塊。將絲綢之路沿線重點城市的相關介紹展示給用戶,配以語音、文字解說,使用戶可以迅速地了解城市的人文地理信息。
隱形性評估模塊。該教學系統(tǒng)在后臺一直隱形性地記錄用戶各種行為數(shù)據(jù)到日志中,并將這些數(shù)據(jù)通過貝葉斯網絡進行處理分析,不斷得出用戶的一個各種能力的評估。
絲綢之路虛擬交互系統(tǒng)建立的關鍵是模型的建立,模型能夠直觀地影響系統(tǒng)整個的仿真效果。絲綢之路模型主要包括地形模型、建筑模型和環(huán)境模型。首先深入了解絲綢之路沿線各城市所處地形,然后按照布局進行建模。地形模型可利用Unity3D引擎中的Terrain和Plane來生成地表對象。建筑模型采用3DMax 2010作為建模工具,將外部模型導入其中,對于建筑上一些表面的細節(jié)可以采用紋理映射的辦法,使用紋理圖片代替復雜模型。環(huán)境模型也就是植被的相關模型,考慮到當模型中面數(shù)數(shù)目超過系統(tǒng)計算能力時,在場景漫游時無法及時完成幀處理而破壞了場景變換的平滑性從而出現(xiàn)的卡頓問題,應減少模型網格中的三角形面數(shù)。建立完模型后導出為.fbx文件,再導入到Unity項目里的Project文件下。
由于該系統(tǒng)包含許多功能和模型,若只在一個場景中既無法劃分功能模塊又會增加系統(tǒng)的執(zhí)行時間,為此,采用多場景模式,并對每個子場景單獨建模。這樣降低了各個場景的復雜度,提高了渲染速度。在這種多場景模式下,通過用戶的不同選擇來載入不同的子場景,減少了系統(tǒng)載入的時間,讓用戶的體驗感更好。本系統(tǒng)包括的主場景有絲綢之路總路線展示場景、城市漫游場景、城市資料展示場景,由于絲綢沿線城市眾多,因此只選擇靠近起點(西安)的三個主要城市,所以共有七個子場景。
以Unity3D引擎為開發(fā)核心,使用C#語言編寫交互腳本實現(xiàn)用戶在HTCVive設備上與環(huán)境之間的交互作用。本系統(tǒng)的交互主要包括城市漫游和場景鏈接。
3.3.1 城市漫游
城市內漫游,是用戶以第一視角進行參觀游覽,通過行走在劃定范圍內的區(qū)域或利用手柄進行瞬移來到達比游戲區(qū)域大的環(huán)境。
為了使用戶佩戴HTC Vive攝像頭與Unity3D相關聯(lián),需在Hierarchy面板中刪除原有Camera,增加CameraRig和SteamVR,這樣用戶就可以在HTC Vive設備上看到虛擬場景。點擊CameraRig在Inspector面板中可以看到Steam_VR_Play Area腳本,這是用來劃定可移動范圍的。
由于用戶不能走出該劃定范圍,因此可以行走在較近范圍,而對于較遠的區(qū)域,可以使用Unity3D中生成的導航網格作為用戶傳送邊界,對場景中任意對象添加Vive Nav Mesh組件,并在Inspector面板點擊Update Navmesh Data按鈕,從而在更新場景時用新Nav Mesh烘焙Vive Nav Mesh組件。在用手柄進行瞬移時,利用貝塞爾曲線來選擇瞬移的目的地,用戶通過手柄舉起的角度來選擇目的地的距離從而進行瞬移。
3.3.2 場景鏈接
該系統(tǒng)由七個子場景組成,用戶可以通過場景之間的鏈接來選擇場景。該系統(tǒng)有兩種場景鏈接方式:一是用戶通過到達特殊傳送點進行碰撞來跳轉場景;其二是用戶通過手柄發(fā)射出的射線點擊物體直接鏈接到指定場景。兩種場景鏈接的實現(xiàn)步驟如下。
1)用戶通過到達傳送點來跳轉場景的步驟為先創(chuàng)建一個空物體Object作為父對象,在Object下建立Sphere對象,刪除Mesh Renderer屬性,并在Inspector面板中給該對象添加Capsule Collider碰撞器組件且選擇Is Trigger屬性使之成為觸發(fā)器。編寫場景觸發(fā)跳轉腳本,添加到Sphere對象上。下面為場景鏈接代碼。
2)用戶通過手柄的射線點擊跳轉的步驟為先建立一個空對象TransitionToGame,并在該對象上創(chuàng)建一個場景鏈接腳本TransitionGame,然后再創(chuàng)建一個Button對象,在該對象的Inspector面板中的Button組件里添加腳本TransitionGame點擊事件。舉例腳本如下。
基于Unity3D和HTC Vive的絲綢之路虛擬交互系統(tǒng)的部分效果截圖如圖2~圖4所示。
如圖2所示,用戶在佩戴好HTCVive設備并調試好硬件環(huán)境后,進入絲綢之路虛擬交互系統(tǒng)開始界面,范圍以絲綢之路全路線為背景墻面,用戶可以轉動頭部或走路進行觀察,并可以用手柄扣動扳機來選擇場景。
圖2 開始界面
圖3 絲綢之路總路線圖
如圖3所示,絲綢之路總路線圖是用戶點擊開始按鈕,路線圖及城市名稱依次浮現(xiàn),以三維視角向用戶展示絲綢之路沿線城市分布,并且用戶可以點擊城市進行城市漫游。
圖4 城市漫游
如圖4所示,城市漫游是用戶通過佩戴的HTC Vive頭盔以第一視角游覽城市全貌,可以在限定范圍內小幅度走動,使用戶可以身臨其境地置身于城市中,或者通過手柄的射線來選擇遠處目的地,防止長時間走動帶來的眩暈感。
人工智能、大數(shù)據(jù)分析和虛擬教育被稱為影響未來的三大科技創(chuàng)新方向。虛擬現(xiàn)實技術可以將讓學習者完全沉浸于虛擬環(huán)境中,通過較強的交互性和有趣的游戲元素給學習者帶來更多的學習樂趣,促進學習者在愉快的狀態(tài)下進行自主學習。本文采用多場景建模方法,利用3DMax構建模型,在Unity3D游戲引擎進行開發(fā),實現(xiàn)了場景之間相互鏈接和用戶與系統(tǒng)的信息交互,使用HTC Vive設備作為輸出硬件,使用戶能夠完全沉浸地、自主地、交互地在系統(tǒng)中愉悅無意識時間流逝的知識學習。運行結果表明,本文所設計的絲綢之路虛擬交互系統(tǒng)能較好地展示絲綢之路城市,讓用戶以直觀逼真的視覺感受和交互動作來深刻學習絲綢之路文化,也將會為教育領域虛擬學習提供一定的參考價值。