1.引言
1.1撰寫目的
近年來,各種信息技術飛速發(fā)展浑度,給教育教學帶來了新思路胖秒,VR作為一種展示技術缎患,可以幫助老師改變教學方法,優(yōu)化教學阎肝。本文介紹了一種使用unity3D快速開發(fā)VR教學課件的方案,適用于一線教育工作者開發(fā)虛擬現實相關教育資源時使用风题。目前市面上有較多的虛擬現實開發(fā)資料嫉父,但這些資料存在著一些問題熔号,一方面大量的資料都是零散的鸟整,不適合于沒有軟件開發(fā)經驗的初學者直接學習引镊,另一方面成體系的資料都以講解虛擬現實游戲的開發(fā)方法為主較少有講解虛擬現實教育資源開發(fā)的資料。
新手開發(fā)者可以通過本文了解 VR 教育資源的簡易開發(fā)流程并嘗試開發(fā)篮条, 本手冊中使用的 VR 設備屬于分離式設備弟头,分離式設備造價便宜并且便于攜帶十分適合于教育場景中應用,開發(fā)者只需要將開發(fā)好的資源打包成手機應用程序安裝包就可以發(fā)布給學習者使用涉茧。但分體式設備也存在交互手段匱乏赴恨,顯示效果不佳,不是無縫體驗等問題伴栓。
1.2文檔說明
本文中提到的 VR 教育資源特指沉浸式虛擬環(huán)境下的教育課件伦连,文中講到的開發(fā)流程也僅適用于該類型資源的開發(fā)。開發(fā)過程中需要用到一些輔助軟件钳垮, 可以在網絡上自己尋找下載鏈接惑淳。本文是國家級雙創(chuàng)項目(編號:201710065036)的研究成果,是本團隊成員通力合作的結果饺窿,未經允許不得私自轉載歧焦。文中有部分圖片來自網絡,未找到完整版權信息肚医,如有侵權绢馍,可聯(lián)系作者刪除,謝謝。
1.3參考資料
- 阿陽. VR 技術的虛擬教學應用研究[D].華東師范大學,2017.1.15.
- 徐麗芳呀伙,王鈺,陳銘.國外 VR 教育出版發(fā)展現狀與趨勢[J].武漢大學數字出版研究所瓷耙,2017.3,12(3):12-13.
- 羅高飛,王少杰. 基于虛擬現實技術的多媒體教學方法研究[J].當代教育理論與實踐入宦,2015,7(9):95-97
- 王月蓉.淺談虛擬現實技術在教學中的應用[J].無線互聯(lián)科技哺徊,2013(11):233-234.
- 饒躍東.基于虛擬現實技術的校園網絡教學建設探討[J]. 科教導刊 ,2012(36):84-85.
- 劉華益,汪莉轿钠,單磊等(2016). 虛擬現實產業(yè)發(fā)展白皮書 5.0[R].中華人民共和國工業(yè)和信息化部.
- 劉德建症汹,劉曉琳背镇,張琰等.虛擬現實技術教育應用的潛力、進展與挑戰(zhàn)[J].開放教育研究,2016,22(4):25-31
- Heiling胸囱,M.(1962).Sensorama simulator[DB/OL].Re-trieved from http://www.mortonheilig.com/.
- 黃榮懷,鄭蘭琴谤职,程薇(2012). 虛擬實驗及其學習者可信度認知[J].開放教育研究哟忍,18(6):9-15
- Burdea G, Coiffet P. Virtual reality technology, second edition[M]. New York: John Wiley & Sons, 2003:3-4.
- M.Travassos Valdez,C. Machado Ferreira,F. P. MacielBarbosa. Distance Education Using a Desktop Virtual Reality (VR) System [J]. EAEEIE Annual Conference (EAEEIE),2013(24):145-150.
2.虛擬現實技術簡介
2.1 虛擬現實是什么
虛擬現實技術另稱為“計算機模擬顯示技術”或“沉浸式多媒體”其馏,涉及到計 算機圖形學叛复,傳感器技術,多媒體技術撬码,人機接口技術等多領域知識的綜合夫否。[5] 虛擬現實技術可以構造真實的三維立體空間凰慈,并利用一些輔助設備,使參與者獲 得聽覺堰酿、視覺触创、觸覺等多種感覺的沉浸式體驗。用戶借用必要的設備還可以與這 個三維仿真虛擬環(huán)境進行全方位交互抖韩,從而產生“虛擬”的現實體驗。實際上席揽, 具有高度沉浸感的虛擬現實技術的出現可以追溯到二十世紀六十年代娛樂業(yè)中 的傳感影院,其目的是吸引觀眾的注意属桦。
2016 年雖然被稱作虛擬現實的“元年”聂宾,這并不意味著虛擬現實是一門新興 的研究領域,我國對于虛擬現實技術的研究自從上世紀 90 年代就開始了蔚鸥。近年 來馆类,虛擬現實以及增強現實產業(yè)又呈現爆發(fā)式增長乾巧,工業(yè)與信息化部 2016 年公 布的《虛擬現實產業(yè)白皮書》中展示沟于,2015 年中的的虛擬現實行業(yè)規(guī)模接近 15.4 億元旷太,到 2020 年預計可超過 550 億元。大量資本的涌入睡毒,使虛擬現實技術在各 行各業(yè)都被大量應用,其中軍事訓練钠至,工業(yè)建筑棕洋,醫(yī)療衛(wèi)生摄悯,游戲娛樂等行業(yè)的 應用較為成熟奢驯,這也為虛擬現實應用于教育事業(yè)提供了寶貴的經驗撒遣。
虛擬現實技術為傳統(tǒng)的中小學教育出版打開了一扇大門禾进,其與教育游戲的結 合有可能改變傳統(tǒng)的教育方式-通過提供虛擬現實內容體驗層泻云,讓中小學學生更 快、更好地吸收文化知識婆瓜。近幾年我們可以看到 VR 虛擬現實技術不斷的沖擊著 教育領域這塊土壤,把經過時間考證而證明優(yōu)秀的技術與現有的傳統(tǒng)教育手段相 結合蒙秒,會為教育領域帶來更多的可能性。
在這個信息技術越來越發(fā)達的時代瓢省,傳統(tǒng)的教育模式已經不能滿足社會對人 才培養(yǎng)的需求勤婚。國家一直非常重視教育信息化的建設,發(fā)布一系列政策推動教育信息化的完善祝迂。在宏觀政策上型雳,國家對教育信息化的支持是 VR 與教育相結合前 景光明的有力保證沿量。虛擬現實和在教學中的應用潛力巨大、前景廣闊佛掖,主要體現 在運用虛擬現實具有激發(fā)學習動機、創(chuàng)設學習情境拴魄、增強學習體驗、感受心理沉浸、跨越時空界限服赎、動感交互穿越和跨界知識融合等多方面的優(yōu)勢。虛擬現實的應用缺厉,能夠為教育工作者提供全新的教學工具,同時能激發(fā)學生學習新知識的興趣关贵,讓學生在動手體驗中迸發(fā)出創(chuàng)新的火花亥啦。符合立足于學生的發(fā)展觀,通過學生利用 VR 技術對知識的自我探索翔脱,在掌握基礎知識的同時奴拦,培養(yǎng)了學生的能力,使對現實世界保持充分的好奇心届吁,有助于促進學生良好學習態(tài)度的養(yǎng)成错妖。
2.2虛擬現實技術的表現形式
-
利用計算機屏幕畫面展示的虛擬現實技術(非浸入式)
單純利用計算機屏幕展示三維虛擬環(huán)境的虛擬現實技術應用最為廣泛,使用代價也最為低廉疚沐,產品制作也較為簡單暂氯。典型的應用是對目標辣吃、場景哩簿、環(huán)境等的漫游時虛擬仿真實訓亿遂,例如虛擬演播室等倚评。M.Travassos Valdez 等人將桌面式虛擬現實技術用在遠程教育當中蛹尝,為學生提供了足夠的學習空間,并使他們能更好的與設備進行交互
2.偏振式 3D 立體虛擬現實技術(半浸入式)
根據光線的“振動方向”原理來組織原始圖像翘悉,并且利用偏振顯示器弊予,向體驗者展示兩幅偏振方向有差異的圖像,圖像經過偏振眼鏡后會在體驗者的大腦中合成為立體圖像屎鳍,3D 電影就是其典型應用忧饭,現在大部分 AR(增強現實)技術也利用了該原理渔肩。
3.使用可穿戴設備的虛擬現實技術(浸入式)
使用可穿戴頭盔加上輔助性控制設備伺通,可以真正達到真實的“沉浸性”效果屁药,體驗者的代入感眷茁,現實感也會更強掉蔬,利用輔助性控制設備可以實現全新的交互效果托启,代替?zhèn)鹘y(tǒng)電腦的鼠標鍵盤交互效果。這種技術也是本文的方案中將要使用的祟蚀。
2.3虛擬現實技術的主要教學應用情境
用于知識本體的學習
教師可利用 VR 的信息呈現功能鹏溯,將一些難以利用傳統(tǒng)教學工具表現的自然
現象、運動現象等通過 VR 技術轉化為肉眼可見的動態(tài)變化過程展示給學習者李剖。 例如學習外國建筑文化時無法帶領學習者真正出國觀察,則可利用 VR 將外國建 筑建模后給予學習者觀察穗泵,使學習者產生初步的直觀體驗普气。實驗環(huán)境搭建
VR 特有的沉浸與交互特性可以將搭建虛擬的實驗環(huán)境,以此作為真實實驗 的預備或某些危險實驗的模擬佃延。例如《虛擬駕駛系統(tǒng)》可以使學生在學習初期不 必要在真實車輛上操作现诀,也可利用系統(tǒng)模擬駕駛過程。此外履肃,還可利用 VR 對某 些危險實驗進行預演仔沿,例如廣西大學的《無機化學虛擬實驗實》允許學生在進行 真實實驗前首先利用虛擬實驗室進行一次實驗,這樣可使學生更加熟悉實驗流程尺棋, 減少實驗事故的發(fā)生封锉。虛擬環(huán)境的構造
該種形式通常用于構造虛擬的環(huán)境,常用于遠程教育網絡教育或減少環(huán)境構造的成本膘螟。例如使用 VR 技術搭建虛擬教室成福,可以使地理位置分離的師生同時登錄虛擬教室,進行實時教學萍鲸,或是搭建虛擬演播室減少實際演播室的使用成本闷叉。Bertram 等對警務人員在虛擬顯示環(huán)境中和真實情境相比較,觀察到警務人員在虛擬模擬場景中習得的知識與技能在真實場景應用中的遷移情況與傳統(tǒng)的現場培訓結果是一樣的脊阴,充分顯示了構造實驗環(huán)境的作用握侧。
3.課件的教學設計
3.1傳統(tǒng)多媒體教育資源與 VR 教育資源比較
VR 課件與傳統(tǒng)課件相比開發(fā)難度大,耗費時間長嘿期,修改困難品擎。但之所以大量的教育工作者還投入大量的時間與精力在虛擬現實教育應用的研究,是因為其特有的技術特性备徐,即沉浸性萄传,交互性以及環(huán)境的創(chuàng)設能力。這些特性給教育變革帶來了新的機會,也鼓舞著人們不斷去研究它秀菱,優(yōu)化它振诬。
3.2教學設計流程
在開發(fā)VR教育課件前首先需要對其中的內容進行教學設計,教學設計的任務是完成圖3-1設計流程圖中的前兩個部分衍菱,即前端分析和學習設計赶么。前端分析中需要確定教育資源所承載的學習內容,接著確定具體的學習目標脊串,同時還需要對使用這一課件的潛在學生的特點進行調查辫呻,了解他們的情況,包括預備知識的掌握情況及認知能力的發(fā)展程度琼锋。前端分析部分VR課件的教學設計和傳統(tǒng)課程的教學設計很類似放闺。而學習設計模塊是對VR課件進行教學設計時需要重點關注的。內容設計部分主要是需要將學習內容進行合理的分類并且設計相應的學習步驟缕坎,明確學生在使用課件每一部分時應達成的目標怖侦。學習情景設計指的是為不同類型的學習內容設計不同的學習情境以幫助學習者對知識內容進行建構,例如學習醫(yī)學就需要設計醫(yī)院或具體手術室的情境念赶,學習機械制造則需要設計相應車間或工廠的情境础钠。學習評價也需要提前設計,通常來說需要設置形成性評價和總結性評價兩種叉谜,形成性評價是在使用VR課件的過程中記錄學習者的學習情況,活動完成情況等數據來進行評價踩萎,總結性評價是在學習結束后以測試的方式來對學習者進行評價停局。接下來課件的界面和交互也需要根據教學設計的情況來進行考慮和設計,要使用合適的界面和交互方式來表現教學設計的結果香府。
3.3VR教育資源中的界面和交互設計策略
3D虛擬環(huán)境下的學習界面需要遵循人機交互的界面設計相關原則董栽,人機交互界面經歷了幾個階段從最早的CLI命令行界面到現在通用的GUI圖形用戶界面以及最新也是目前效果最好的NUI自然用戶界面。
圖形交互界面不同的使用情況下有各異的呈現方式企孩,就VR而言也不僅僅只存在一種交互方式锭碳,理論上來說VR可以提供比GUI更加豐富自然地交互形式,但受限于硬件設備的功能原因勿璃,本文開發(fā)方案中只會采用較為普遍的交互形式擒抛,現在介紹相關VR人機交互形式。
1)動作捕捉式交互
該交互形式可以通過設備傳感器以及相應的可穿戴設備以及協(xié)同算法补疑,計算出使用者動作改變在虛擬情境中產生中的影響歧沪,例如使用者在現實世界進行物理位移,則虛擬環(huán)境中用戶視角也會產生成比例位移莲组。诊胞。但是這種交互形式,用戶需要耗費大量的時間進行初始校準锹杈,不便于使用撵孤,輔助設備的價格也過高迈着。總體來說該交互技術使用不廣泛邪码,技術難度也較高裕菠,所以本課件不采用。
2)觸覺反饋式交互
觸覺反饋式交互通過輔助設備例如手柄霞扬,頭盔等提供點擊式觸感和振動式觸感糕韧,技術原理不復雜,應用成本也較低喻圃,大多數VR廠商都提供該交互功能的編程借口萤彩,其反饋效果也適用于大多數需要反饋的情境,例如在虛擬環(huán)境中進行菜單選項選擇時產生震動感斧拍。本課件采用此交互作為主要交互方式雀扶。
3)手勢跟蹤交互
目前行業(yè)內成熟的手勢跟蹤交互解決方案包括兩種,第一種是使用光學的手勢跟蹤傳感器例如leapmotion肆汹。這種方式的好處是不需要使用者穿戴復雜的跟蹤設備愚墓,利用一體式VR頭盔的光學追蹤功能記錄手部操作,用戶可以像真實世界一樣進行交互昂勉,不足在于光學設備的穩(wěn)定性較差浪册,有識別盲區(qū),而且實驗證明沒有觸感反饋的交互用戶易于疲勞岗照。
第二種是使用實體數據追蹤手套村象,優(yōu)點在于沒有視場限制提供觸感反饋以及較為精準的手勢追蹤,該方式缺點也很明顯攒至,設備沉重厚者,校準復雜。未來的發(fā)展趨勢是兩種方案的融合即光學傳感器和物理傳感器的結合使用迫吐,生產出更為輕便库菲、靈活準確的設備。因為該交互形式對于硬件要求過高志膀,所以本課件也不使用該種交互熙宇。
4)方向追蹤交互
該交互形式是讓使用者可以720度全方位控制視角的方向,這一特性也是VR設備沉浸性最好的體現梧却。也是VR交互功能的核心所在奇颠。在方向追蹤的情況下,還可以提供定時瞄點的功能放航,定時瞄點是操作者穿戴設備后視角有一個圓形瞄點烈拒,也被成為注視點,該點固定在用戶視角的中心,用戶可以通過一定時間的瞄點實現交互荆几,例如在VR課件中提供跳轉鏈接吓妆,學習者可以通過3到5秒對該鏈接的凝視實現交互,就像計算機操作中鼠標的單擊操作吨铸。本課件主要使用此交互方式行拢。
5)語音交互
語音可以作為學習者操作的提示音,而VR既然作為真實世界的虛擬技術诞吱,自然世界中本來就具有大量的音頻信息所以在VR課件中也應該提供語音交互舟奠。真正意義上的語音交互要求系統(tǒng)不僅能夠播放提前設計好的聲音,還要能夠識別用戶的語音同時做出及時的響應房维,例如Siri沼瘫。但由于這其中用到了語音識別技術、人工智能算法等技術咙俩,技術難度過大耿戚。本課件不采用雙向的語音交互,只采用單向的語音提示功能阿趁。
6)真實場景碰撞
作為現實的虛擬膜蛔,場景構建要盡量真實,同時場景中的物體也要符合現實的邏輯脖阵,所以本課件把系統(tǒng)內出現的所有物體都設計為“剛性”即和真實物體一樣會產生碰撞皂股,擠壓。而不會產生重疊命黔,降低真實性屑墨。
4.課件開發(fā)流程
4.1 課件開發(fā)整體流程
VR課件開發(fā)流程如上圖所示。在進行VR課件開發(fā)時纷铣,首先是對其教學內容和教學策略加以考慮和設計即上一章所講的內容,在確定主要的教學內容設計后战转,開發(fā)者再行確認應該設計何種交互搜立,如何設置課件結構來表現教學內容。設計階段完成后槐秧,分別選擇不同軟件編輯3D模型啄踊,2D圖片以及音視頻,最后整體導入unity平臺編輯刁标,添加腳本颠通,所有工作完成后導出原型進行測試,最后發(fā)布膀懈。
在教學設計完成后顿锰,按教學設計的單元,建立對應的場景,使用建模軟件構造好相應的環(huán)境和課件對象后導入場景中硼控,分別對其進行交互設計編寫腳本刘陶,最后搜集錄制所需的音頻文件,將其置入課件中牢撼,則課件的開發(fā)基本完成匙隔。
4.2 前期素材準備與編輯
在進行開發(fā)前需要準備一些相應素材,通常必要素材的是3D模型熏版,因為VR課件展示的真實情境所以需要相應的模型纷责,模型可以自己制備也可以下載一些開源的模型然后進行編輯『扯蹋可用的編輯軟件有很多再膳,這里推薦cinema4D軟件,也可以選擇Maya或3Dmax之類的其他工具阔加,編輯完成之后導出FBX后綴文件即可饵史。
除了最重要的3D模型外,也可以在VR課件中加入圖片胜榔、音頻胳喷、視頻等相關素材,這些素材也需要使用相應的軟件進行制作和加工夭织,例如圖片可以使用PS或AI軟件吭露,音頻可以使用Au,視頻選用final cut pro 或premier等軟件尊惰。
4.3 初始化設置
4.3.1 工程的創(chuàng)建及編輯器簡介
打開unity開發(fā)平臺后讲竿,創(chuàng)建一個工程文件(可選擇3D或2D模式)后出現初始界面如圖4-2所示,其中主要包括以下幾個本次開發(fā)工作常用到的視圖:
-
場景試圖(scence):如圖4-3弄屡,用于場景的編輯同時操作要使用的對象题禀,可以切換場景渲染模式,3D\2D視角膀捷,切換燈光開關迈嘹,切換聲音開關,切換天空盒全庸、霧效秀仲、光暈的開關。
-
項目視圖(project):存放了整個項目工程的資源匯總和管理壶笼,包括腳本神僵、材質、字體覆劈、貼圖保礼、模型等沛励。
-
層級視圖(Hierarchy):用于顯示當前場景中所有操作對象的層級關系,并且可以創(chuàng)建新的新的對象氓英。
4.3.2 初始環(huán)境配置
由于本次開發(fā)最后產品是在谷歌的VR頭盔式穿戴設備上發(fā)布侯勉,并且以Android平臺作為載體,所以需要在unity開發(fā)環(huán)境中導入Google VR SDK以及Android SDK铝阐。
1)導入Google SDK
谷歌的軟件開發(fā)工具包可以直接在Google VR的官網上下載址貌,直接導入即可。
在菜單欄選擇:Assets——Import Package——Custom Package徘键。選擇GoogleVRForUnity_1.120.0.unitypackage(谷歌VR開發(fā)SDK)導入练对。如圖4-6。
2)搭載Android SDK
需要:安裝JDK——安裝Eclipes——下載并安裝Android SDK——在unity中發(fā)布Android平臺吹害。
3)導入預先使用cinema 4D構建好的人體器官模型
用cinema 4D軟件建模完成后生成FBX后綴文件螟凭,然后直接在unity的項目試圖中拖入即可導入成功。
4.4 創(chuàng)建場景
4.4.1通過腳本創(chuàng)建VR場景
需要先建立一個場景命名為“主界面”它呀,選擇Main camera并將腳本stereocontroller.cs附加到Main Camera上螺男,在層次結構面板中選擇攝像頭,然后執(zhí)行主菜單命令Component——Cardboard——Update Stereo Cameras纵穿。此命令也可以在攝像頭組件的上下文菜單中找到:在Inspector面板中找到stereocontroller腳本下隧,該腳本具有Update Cameras按鈕,點擊可將立體攝像頭與主攝像頭同步谓媒。
4.4.2通過預制件創(chuàng)建VR場景
除了通過腳本創(chuàng)建場景還可以通過SDK中提供的預制件添加VR淆院,采用這種做法,可以節(jié)省工作時間句惯,同時基本攝像機土辩,燈光等對象已經是預設好的,只要刪除預制件中的場景抢野,添加自己的場景就可以進行基本的開發(fā)了拷淘。
首先從項目面板中打開assets——GoogleVR——Demos——scenes。然后選擇一個預設的場景直接拖入Hierarchy面板即可指孤,如圖4-7所示
本案例開發(fā)采用第二種場景創(chuàng)建方式辕棚,直接導入SDK的GVRDemo然后刪除其原有的cuberoom組件,設置本課件主菜單場景所需要的自然環(huán)境情境命名為natural邓厕。同時導入本場景所需要的靜態(tài)物體,調整距離扁瓢。最后主場景如圖4-8所示详恼。
4.5 GUI設置
4.5.1 VR場景中的焦點設置
在圖4-9所在目錄下,找到Gvrcontroller放置在stereocontroller腳本所依賴的對象下面引几,作為stereocontroller所依賴游戲對象的子物體昧互,選擇層級試圖中的payer組件中GvrControllerPointer的屬性挽铁,將焦點打開,這樣設置后運行時敞掘,在屏幕中心位置會有一個白色焦點叽掘。
4.5.2 GUI事件觸發(fā)
- 創(chuàng)建button按鈕,通過gameobject——UI——buttom創(chuàng)建一個按鈕玖雁。
- 選擇Canvans更扁,將render mode設置為wordsapce,并調整按鈕的位置赫冬。
- 點擊play后將會看到鏡頭中的UI按鈕浓镜。
- 設置button高亮并設置按下顏色,以便較為清晰地觀察焦距和點擊效果劲厌。
-
同時給場景中的eventsystem對象添加gazeinputmodule腳本并刪除其上的standard alone mudule組件膛薛,這時候焦點對準按鈕時會產生不一樣的變化。如圖4-10.
4.6凝視觸發(fā)操作的實現
凝視觸發(fā)是對課件中物體進行交互的基本方法补鼻,可以通過視點的變化哄啄,使對象產生交互。下面以對象cube為例設置凝視觸發(fā)风范。
1)用Photoshop制作一個圓形的進度條導入unity咨跌,將其命名為gaze。點擊該圖標乌企,在inspector面板下找到Texture Type屬性虑润,將其設置為Sprite。同時將要進行凝視觸發(fā)的對象名設置為cube加酵。
2)創(chuàng)建一個image拳喻,在unity中選擇GameObject——UI——image就可以創(chuàng)建一個image。在Inspector面板中的Image組件中找到source image屬性猪腕,將上一步中處理的圖片gaze拖動到該屬性對對話框上冗澈,將Image Type設置為filled,調整為合適的大小陋葡。
3)選擇Canvas亚亲,在inspector面板中刪除canvans scaler以及Graphic Raycaster兩個組件對象,將Canvas組建的渲染模式調為World Space腐缤。在層級試圖中將canvas放置在Camera上捌归,使其成為Camera的子對象。
4)調整Canvas對象與Camera和要觸發(fā)對象cube的相對位置岭粤,使圖標gaze出現在場景中并處于camera 和cube之間惜索。
5)在層級面板中選擇EventSystem對象,在其Inspector面板中移除標準輸入組件剃浇,在asset試圖下選擇InputModule拖到EventSystem對象上巾兆。
6)編寫腳本GazeEventObject //該腳本將搭載到被凝視物體上
using UnityEngine;
using system.collections;
using UnityEngine.EventSystems:
//焦點進入事件
//焦點退出事件
public class GazeEventObject : MonoBehaviour, IPointerEnteerHandler , IpointerExitHandler
{
public delegate void CazeEnter( );
public static GazeEnter OnGazeEnter;
public delegate void GazeExit( );
public static GazeExit OnGazeExit;
public void OnPointerEnter (PointerEventData eventData)
{
if (OnGzeEnter!=null) { OnGazeEnter( ); }
}
public void OnPointerExit(PointerEventData eventData)
{
if(OnGazeExit!=null){ OnGazeExit( ); }
}
}
7)編寫腳本CubeEvent
using UnityEngine;
using system.collections;
{
void start( )
{ GazeObject.OnwaitEvent+=OnWaitOver; }
void OnwaitOver( )
{ transform.Rotate(0,60,0); }
}
8)將腳本GazeEventObject和腳本CubeEvent保存后掛載到凝視對象cube上猎物。
9)編寫腳本GazeObject
using UnityEngine;
using system.collections;
using UnityEngine.UI;
public class GazeObject : MonaBehaviour
{
public delegate void OnWaitTrigger( );
puclic static OnWaitTrigger OnWaitEvent;
public float WaitTime=5;
private bool start=false;
private float timeGo=0;
void Start()
{
GzenEventObject.OnGazeEventEnter += OnGazeEventEnter;
GzenEventObject.OnGazeEventExit += OnGazeEventExit角塑;
start=false;
timeGo=0;
}
void Update()
{
if(start)
{
timeGo+=Time.deltaTime;
img.fillAmount=1-(timeGO/WaitTime);
if(timeGo>WaitTime)
{
start=false;
if(OnWaitEvent!=null)
{
OnWaitEvent!=null)
{
OnWaitEvent();
timeGo=0;
}
}
}
}
void OnGazeEventEnter
{ start=true; }
void OnGzeEventExit( )
{
Image img=GetComponent<Image>( );
img.fillAmount=1;
start= false;
}
}
10)將腳本GazeObject掛載到Camera中Canvas的image對象上蔫磨,等待時間設置為1。
11)將兩個對象設置完成圃伶,三個腳本掛載完成后堤如,點擊play運行,當視點凝視cube 1s后留攒,對象物體會進行旋轉煤惩。通過編寫不同的腳本,對象物體也可以進行不同的操作炼邀。
4.7 音視頻播放的實現
VR課件展示音視頻信息就需要用到本節(jié)所述技術魄揉,通過在VR課件中插入音頻和視頻文件可以實現通過多種渠道傳遞信息。
4.7.1視頻的播放
1)導入插件EasyMovieTexture拭宁、預先在三維建模軟件中制作好法線向內的球和全景圖片洛退。為導入的球體制作材質球,命名為sphere杰标,將全景圖片拖到Inspector面板中Albedo前面的方框中兵怯。
2)將導入的球體拖到層級面板,把材質球sphere賦給導入的物體腔剂,在Inspector面板中將sphere下的屬性設置為Unlit-Texture媒区。
3)在Assets面板中將全景視屏拖動到StreamingAssets文件中。
4)在Assets面板中按照路徑EasyMovieTexture-scripts找到腳本MediaPlayerCtrl并將其掛載到導入的球體上掸犬,在Inspector面板中找到MediaPlayerCtrl組件袜漩,在strfilename屬性中手動填如“視頻名稱.mp4”。
5)再創(chuàng)建一個退出腳本
using UnityEngine;
using system.collections;
public class quit:MonoBehaviour
{
void Update()
{
if(Input.GetKeyDown(KeyCode.Escape)){ Application.Quit( ); }
}
}
4.7.2音頻文件的播放
1)在場景中如果要添加畫外音湾碎,需要選中要添加的物體宙攻。以旁白添加為例,選中player下的main camera介褥。
2)點擊Inspector面板中的add component座掘,選擇預制的腳本Audio Source。如圖4-11
3)在audioclip選項中選擇要播放的音頻文件柔滔。
4)點擊play運行后即可播放相應的聲音溢陪。
5.教育資源的測試與發(fā)布
5.1 課件功能評測
課件的測試采用以白盒測試為主,黑盒測試為輔的軟件工程的測試方法睛廊。利用白盒測試對課件各個場景分別進行測試嬉愧,包括如下幾個方面:
1)場景中對象相對位置、比例尺是否正確喉前。
2)運行時畫面幀率是否達到30hz/s没酣,是否出現卡頓。
3)視點位置是否正確卵迂,能否3D全景瀏覽
4)設計的交互能否實現裕便,視點凝視時是否反應。
5)課件配置音視頻能否正常播放见咒。
使用黑盒測試的方法對課件進行整體測試偿衰,封裝各個場景邏輯模塊,確保真實環(huán)境下正常運行改览,不會產生Bug下翎。
5.2 課件發(fā)布詳解
5.2.1 cardboard簡介
cardboard是由Google法國部門的兩位工程師大衛(wèi)·科茲和達米安·亨利最早提出的,這是一款廉價3D眼鏡宝当,通過可以將智能手機編程一個虛擬現實的原型設備视事。cardboard實際上是一個再生紙盒,如圖5-1庆揩。
Cardboard紙盒內包括了磁石俐东、紙板、橡皮筋订晌、魔力貼虏辫、雙凸透鏡以及NFC貼等部件。按照使用說明锈拨,只需要花費很少的時間就可以組裝出一個可以放入智能手機的紙盒砌庄。盒子凸透鏡的正前方預留了放置手機的空間,而盒子正后方預留的半圓形凹槽可以供使用者貼合觀看奕枢。Cardboard只是一副簡單的3D眼鏡娄昆,但這個眼鏡加上智能手機就可以組成一個虛擬現實(VR)設備。
Cardboard與一部手機結合在一起就可以產生虛擬現實效果验辞,眼鏡片通過透鏡加屏幕的原理稿黄,將虛像呈現在人的明視距離處實現了沉浸式的虛擬顯示感,原理圖如屏幕即為手機屏幕跌造,理論上來說手機的分辨率與像素目睹越大顯示效果越好杆怕。由于該設備價格便宜,一套完整的cardboard設備只需要4到5美金壳贪。減少了使用者的本陵珍,可以在實際教學中大規(guī)模的推廣應用。
5.2.2 課件發(fā)布具體操作
課件制作完成后需要發(fā)布為一個apk安裝包文件违施,以便在手機上安裝使用互纯。首先在菜單欄中選擇file——buildsetting,如圖5-3磕蒲。
發(fā)布設置頁面最上面是需要發(fā)布的場景有哪些留潦,本次發(fā)布共有四個場景只盹,左下角是發(fā)布的平臺,本次選擇的是Android平臺兔院。然后點擊player settingS按鈕打開詳細設置平臺饼拍。
如圖5-4紅框內選項啸罢,發(fā)布的版本需要選擇Android4.4及以上版本,其它設置如圖5-4。注意锋玲,發(fā)布前要先導入Android SDK辑莫,否則會發(fā)布失敗蚂会。