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