基于移動(dòng)端的VR 技術(shù)及在英語(yǔ)學(xué)習(xí)的運(yùn)用論文
對(duì)VR在移動(dòng)終端的開發(fā)進(jìn)行了研究,基于unity游戲引擎,設(shè)計(jì)和開發(fā)了一款運(yùn)行在移動(dòng)終端上的VR應(yīng)用,把對(duì)英語(yǔ)教學(xué)的學(xué)習(xí)融匯到VR環(huán)境中,極大提高了學(xué)習(xí)興趣和學(xué)習(xí)效率。
1 背景
虛擬現(xiàn)實(shí)(VR)是對(duì)真實(shí)世界的模擬,VR利用計(jì)算機(jī)生成一種三維模擬環(huán)境,通過多種傳感設(shè)備使用戶“投入”到該環(huán)境中,實(shí)現(xiàn)用戶與該環(huán)境直接進(jìn)行自然交互的技術(shù)[1] 。VR正從PC端向移動(dòng)端進(jìn)行擴(kuò)展,在移動(dòng)端實(shí)現(xiàn)VR具有較大的市場(chǎng)價(jià)值。研究并設(shè)計(jì)基于移動(dòng)設(shè)備上的VR應(yīng)用具有重要的意義。
2 VR原理和應(yīng)用
VR是多種技術(shù)的綜合,包括實(shí)時(shí)三維計(jì)算機(jī)圖形技術(shù),廣角(寬視野)立體顯示技術(shù),對(duì)觀察者頭、眼和手的跟蹤技術(shù),以及觸覺/力覺反饋、立體聲、網(wǎng)絡(luò)傳輸、語(yǔ)音輸入輸出技術(shù)等。
人看周圍的世界時(shí),由于兩只眼睛的位置不同,得到的圖像略有不同,這些圖像在腦子里融合起來(lái),就形成了一個(gè)關(guān)于周圍世界的整體景象,這個(gè)景象中包括了距離遠(yuǎn)近的信息。當(dāng)然,距離信息也可以通過其他方法獲得,例如眼睛焦距的遠(yuǎn)近、物體大小的比較等。在VR系統(tǒng)中,雙目立體視覺起了很大作用。用戶的兩只眼睛看到的不同圖像是分別產(chǎn)生的,顯示在不同的顯示器上。有的`系統(tǒng)采用單個(gè)顯示器,但用戶帶上特殊的眼鏡后,一只眼睛只能看到奇數(shù)幀圖像,另一只眼睛只能看到偶數(shù)幀圖像,奇、偶幀之間的不同也就是視差就產(chǎn)生了立體感。
VR有著廣泛的應(yīng)用領(lǐng)域,醫(yī)學(xué)中,可以建立虛擬的人體模型。娛樂方面,英國(guó)開發(fā)了稱為“Virtuality”的VR游戲系統(tǒng)。軍事中,模擬訓(xùn)練一直是軍事與航天工業(yè)中的一個(gè)重要課題, 美國(guó)高級(jí)研究計(jì)劃局DARPA自20世紀(jì)80年代起一直致力于研究稱為SIMNET的虛擬戰(zhàn)場(chǎng)系統(tǒng),在室內(nèi)設(shè)計(jì)中,大大提高了設(shè)計(jì)和規(guī)劃的質(zhì)量與效率。北京航空航天大學(xué)在分布式飛行模擬方面的應(yīng)用;浙江大學(xué)在建筑方面進(jìn)行虛擬規(guī)劃。
VR應(yīng)用于教育是教育技術(shù)發(fā)展的一個(gè)飛躍。它營(yíng)造了“自主學(xué)習(xí)”的環(huán)境,由傳統(tǒng)的“以教促學(xué)”的學(xué)習(xí)方式代之為學(xué)習(xí)者通過自身與信息環(huán)境的相互作用來(lái)得到知識(shí)、技能的新型學(xué)習(xí)方式。
到2020年,全球增強(qiáng)現(xiàn)實(shí)(AR)與VR市場(chǎng)規(guī)模將達(dá)到1500億美元,其中增強(qiáng)現(xiàn)實(shí)市場(chǎng)將會(huì)達(dá)到1200億美元,而VR市場(chǎng)則為300億美元[2]。
3 開發(fā)原理和過程。
沉浸式VR在英語(yǔ)的學(xué)習(xí)中也起到了重要的作用。由于在沉浸式VR中,學(xué)習(xí)者佩戴上了有感應(yīng)設(shè)備的頭盔,更加能投入到逼近真實(shí)的虛擬環(huán)境中,所以更加提升了英語(yǔ)的學(xué)習(xí)效果。但當(dāng)前的VR設(shè)備中,大部分還是和計(jì)算機(jī)搭配使用,這樣的不足之處是固化了學(xué)習(xí)者的學(xué)習(xí)地點(diǎn),學(xué)習(xí)者無(wú)法靈活的在其它地方進(jìn)行學(xué)習(xí)。另外沉浸式的VR設(shè)備價(jià)格還比較昂貴,學(xué)習(xí)者很多時(shí)候只是在多媒體課室才能進(jìn)行學(xué)習(xí),下課后,就又只有回到普通的學(xué)習(xí)環(huán)境中。為了解決以上缺點(diǎn),基于unity游戲引擎,在移動(dòng)終端上設(shè)計(jì)和開發(fā)了VR英語(yǔ)學(xué)習(xí)軟件。Unity 是一款跨平臺(tái)的游戲開發(fā)工具,從一開始就被設(shè)計(jì)成易于使用的產(chǎn)品。用 Unity 作為VR開發(fā)平臺(tái),開發(fā)效率高,效果逼真,交互能力強(qiáng),數(shù)據(jù)量小[3]。Unity引擎提供了對(duì)occulus眼鏡的支持,其需要連接計(jì)算機(jī),才能運(yùn)行。Google公司提出的cardboard眼鏡,極大的簡(jiǎn)化了沉浸式VR眼鏡,制作方便。國(guó)內(nèi)的暴風(fēng)影音公司推出的暴風(fēng)魔鏡在價(jià)格和使用方便性上進(jìn)行了折中,推出了暴風(fēng)魔鏡產(chǎn)品,把VR內(nèi)容放到了移動(dòng)終端的同時(shí),還提供了方便的調(diào)節(jié)功能和操作手柄,給體驗(yàn)者提供了更加親切的感覺。比較了上述幾款產(chǎn)品后,選擇了基于暴風(fēng)魔鏡的硬件和unity平臺(tái)來(lái)開發(fā)此款英語(yǔ)學(xué)習(xí)軟件。魔鏡VR開發(fā)平臺(tái)為基于unity引擎開發(fā)VR應(yīng)用提供了開發(fā)包。
開發(fā)流程如下:
從魔鏡開發(fā)平臺(tái)下載開發(fā)包mojing.unitypackage。
在unity開發(fā)引擎里面導(dǎo)入魔鏡VR開發(fā)包。每一個(gè)VR開發(fā)包都對(duì)應(yīng)了相應(yīng)的unity引擎版本。由于VR開發(fā)包里面的函數(shù)是根據(jù)一定的unity引擎版本編寫的,所以如果unity引擎的版本不對(duì),會(huì)讓這些函數(shù)無(wú)法執(zhí)行,導(dǎo)致在unity的編譯階段就會(huì)報(bào)錯(cuò)。具體每一個(gè)VR開發(fā)包所對(duì)應(yīng)的unity版本,在VR開發(fā)包手冊(cè)里面能夠查到。
VR開發(fā)包中主要包含了用于顯示的函數(shù),藍(lán)牙手柄控制函數(shù)和幾個(gè)案例以及幾個(gè)預(yù)制體。其中VR服務(wù)的函數(shù)主要分為以下幾類:
1) 陀螺儀頭部跟蹤函數(shù);
2) 圖像抗鏡片畸變函數(shù);
3) 魔鏡藍(lán)牙手柄適配及交互控制函數(shù),其中主要包含:藍(lán)牙連接檢測(cè),藍(lán)牙斷開檢測(cè),藍(lán)牙設(shè)備按鍵按下響應(yīng)函數(shù)。
預(yù)制體主要有第一人稱角色控制器和第三人稱角色控制器
在第一人稱角色控制器中,附加了三個(gè)組件:
n Character Controller組件,是unity自帶的組件,用來(lái)定制角色的參數(shù)。
n Mojing1stController 腳本組件,控制第一人稱角色漫游,跳躍、慣性、碰撞檢測(cè)等參數(shù)。
n MojingInputManager 腳本組件,接收藍(lán)牙外設(shè)輸入,并響應(yīng)。
VR開發(fā)和普通游戲開發(fā)的區(qū)別有以下兩點(diǎn):
1) 普通的游戲畫面的輸出沒有特殊要求,而VR由于要形成立體視覺,所以要模擬人的雙眼視覺,因此必須將同一個(gè)游戲畫面進(jìn)行適當(dāng)?shù)姆峙,形成好似人的左右眼進(jìn)行觀看的左右兩個(gè)畫面,最后利用雙目視差的成像原理形成立體視覺。
在unity中,默認(rèn)的只有一個(gè)照相機(jī)物體,而且只能呈現(xiàn)一個(gè)畫面,在VR開發(fā)包中,利用圖1的游戲物體組合來(lái)模擬人的雙眼:
其中,mojingmain帶有位置組件,用來(lái)包含所有攝像機(jī),模擬了人的頭部,其子物體mojingvrhead用來(lái)控制移動(dòng)終端顯示的開關(guān)以及VR功能的開關(guān),VR camera left攝像機(jī)用來(lái)模擬人的左眼,VR camera right攝像機(jī)用來(lái)模擬人的右眼,VR camera left相對(duì)于頭部中心在水平方向向左偏移0.03單位,VR camera right相對(duì)于頭部中心在水平方向向右偏移0.03單位,左攝像機(jī)顯示圖像到屏幕的左半邊,右攝像機(jī)顯示圖像到屏幕的右半邊,當(dāng)把移動(dòng)終端放置到VR頭盔中以后,左眼只能看到左半邊顯示屏的畫面,右眼只能看到右半邊顯示屏的畫面,這樣就在人腦中形成了立體視覺。
2) 普通游戲可以用移動(dòng)終端的觸摸屏作為輸入設(shè)備,在移動(dòng)VR游戲中,由于為了產(chǎn)生沉浸感,用戶帶上了VR頭盔,無(wú)法再使用觸摸屏作為輸入。作為替代產(chǎn)生了以下的輸入設(shè)備:
l 基于動(dòng)作捕捉的 VR 輸入設(shè)備,如慣性導(dǎo)航和光學(xué)捕捉設(shè)備。
l 動(dòng)作感側(cè)VR設(shè)備,如kinet,采用光線飛行時(shí)間法技術(shù)。
l 手套式VR設(shè)備。
l 手勢(shì)識(shí)別VR設(shè)備。
l 手柄VR設(shè)備。
本項(xiàng)目采用了手柄式VR輸入設(shè)備,魔鏡藍(lán)牙手柄。藍(lán)牙手柄配備了一個(gè)方向鍵,確認(rèn)鍵,返回鍵。和藍(lán)牙手柄的通信通過相關(guān)的藍(lán)牙控制函數(shù)完成。具體通過附加在mojinginputmanager游戲?qū)ο笊系膍ojinginputmanager.cs腳本中的onDeviceAttached()等手柄控制函數(shù)實(shí)現(xiàn)。其中,OnButtonDown(string currentBtn) 函數(shù)用來(lái)接收無(wú)線手柄的輸入,MojingKeyCode.KEYCODE_DPAD_UP ,MojingKeyCode.KEYCODE_DPAD _DOWN,
MojingKeyCode.KEYCODE_DPAD_LEF, MojingKeyCode.KEYCODE_DPAD_RIGHT 分別表示了手柄上下左右方向的搖動(dòng),MojingKeyCode.KEYCODE_BUTTON_A 代表了手柄的跳躍按鍵,在軟件的開發(fā)中,相應(yīng)的移動(dòng)和跳躍的邏輯代碼放在相應(yīng)的函數(shù)中。
本英語(yǔ)軟件設(shè)計(jì)的總體框架是把學(xué)習(xí)者置身在一個(gè)模擬真實(shí)世界的虛擬環(huán)境中,軟件中的主角經(jīng)歷了從出生,到慢慢長(zhǎng)大的過程。在剛剛學(xué)會(huì)講話,看到很多新鮮的事物,說(shuō)出第一個(gè)英語(yǔ)單詞等學(xué)習(xí)過程中,學(xué)習(xí)者可以從最基本的英語(yǔ)單詞開始學(xué)習(xí),以比較感性的方式進(jìn)行英語(yǔ)的學(xué)習(xí)。整個(gè)故事分為多集,學(xué)習(xí)者也可以依據(jù)自己的英語(yǔ)水平,選擇從相應(yīng)的故事情節(jié)開始學(xué)習(xí)。
場(chǎng)景中的各種游戲物體,用3dmax,maya等3d建模軟件制作而成,導(dǎo)出為帶有動(dòng)畫效果的FBX文件,然后導(dǎo)入到unity中。
4 結(jié)束語(yǔ)
VR技術(shù)在近幾年得到了快速的發(fā)展,各個(gè)國(guó)際巨頭紛紛投入巨資到VR的開發(fā)中。本文對(duì)VR在移動(dòng)端中的開發(fā)進(jìn)行了分析,并且基于移動(dòng)終端VR,開發(fā)了英語(yǔ)學(xué)習(xí)軟件,在學(xué)習(xí)者的英語(yǔ)學(xué)習(xí)過程中,起到了較大的作用。
【基于移動(dòng)端的VR 技術(shù)及在英語(yǔ)學(xué)習(xí)的運(yùn)用論文】相關(guān)文章:
1.大數(shù)據(jù)技術(shù)在移動(dòng)通信網(wǎng)絡(luò)優(yōu)化的運(yùn)用論文
2.基于Qzone的移動(dòng)學(xué)習(xí)研究
3.HTML5 技術(shù)在移動(dòng)互聯(lián)網(wǎng)中的運(yùn)用解析論文
4.形象思維在英語(yǔ)學(xué)習(xí)中的運(yùn)用論文
5.VR技術(shù)研究在電視新聞?lì)I(lǐng)域的應(yīng)用論文
6.VR技術(shù)在環(huán)境藝術(shù)設(shè)計(jì)中的應(yīng)用論文