趙家興 卞璐
虛擬現(xiàn)實(shí)( VR)技術(shù)在近幾年的信息技術(shù)發(fā)展發(fā)展中不斷完善,它是綜合利用計(jì)算機(jī)圖形系統(tǒng)和各種現(xiàn)實(shí)及控制等接口設(shè)備,在計(jì)算機(jī)上生成的、可交互的三維環(huán)境中提供沉浸式感覺(jué)的技術(shù)。而UE4是一款游戲開(kāi)發(fā)引擎,并且具有成熟的VR開(kāi)發(fā)模塊。于是我們充分利用該軟件進(jìn)行VR教學(xué)平臺(tái)的開(kāi)發(fā)與研究,將枯燥難懂的平面教材轉(zhuǎn)變?yōu)橹悄芟冗M(jìn)、沉浸交互的場(chǎng)景化教學(xué)。借助VR技術(shù),可使知識(shí)點(diǎn)更加生動(dòng)與直觀的展現(xiàn),有利于激發(fā)學(xué)生的學(xué)習(xí)熱情與主動(dòng)性,有效記憶與理解重點(diǎn)難點(diǎn),提高教學(xué)效率與質(zhì)量。
1基于UE4對(duì)VR教學(xué)內(nèi)容制作必須解決的問(wèn)題
UE4實(shí)際上是一群優(yōu)秀程序工程師魔改C++編程并搭建后的產(chǎn)物,說(shuō)UE4是由c++編寫(xiě)的既可以說(shuō)對(duì)也可以說(shuō)不對(duì)。一方面來(lái)說(shuō),虛幻引擎的確用C++語(yǔ)言進(jìn)行編寫(xiě),另一方面虛幻引擎在編寫(xiě)的時(shí)候并沒(méi)有完全遵守c++相關(guān)的編寫(xiě)規(guī)定,工程師他們另起爐灶,用復(fù)雜的宏定義和新穎的藍(lán)圖可視化編程對(duì)引擎進(jìn)行創(chuàng)新,引進(jìn)各種復(fù)雜的系統(tǒng)來(lái)不斷完善這個(gè)引擎,這也就是為什么UE4相對(duì)于U3D人手那么難的原因,虛幻引擎不像U3D,在編程時(shí),它的類別會(huì)分到最細(xì),這就導(dǎo)致了在模塊和模塊之間進(jìn)行邏輯編輯時(shí)尤其復(fù)雜。
那為什么我們不選擇U3D呢?在邏輯層面來(lái)說(shuō),想要實(shí)現(xiàn)大規(guī)模邏輯判斷和計(jì)算,U3D在前期有很大優(yōu)勢(shì),但是后期捉襟見(jiàn)肘,代碼往后寫(xiě)時(shí)越寫(xiě)越復(fù)雜,越寫(xiě)邏輯越混亂。而實(shí)驗(yàn)教學(xué)內(nèi)容的制作上邏輯判斷和計(jì)算是極其重要的,UE4的細(xì)分結(jié)構(gòu)會(huì)在開(kāi)發(fā)后期發(fā)揮巨大作用,但是前期來(lái)說(shuō),這會(huì)導(dǎo)致前期效率低下,我們要在這上面花費(fèi)巨大時(shí)間來(lái)搭建內(nèi)容基礎(chǔ)。
于此同時(shí),我們選擇UE4還有一個(gè)巨大的原因,在虛擬現(xiàn)實(shí)中,想要達(dá)到和真實(shí)實(shí)驗(yàn)相差無(wú)幾的畫(huà)面,這就必須在引擎設(shè)計(jì)上面對(duì)畫(huà)面渲染下巨大功夫。UE4采用延遲渲染,引用高光等重要參數(shù),為搭建真實(shí)場(chǎng)景提供了巨大幫助。但是想要制作真實(shí)畫(huà)面,我們必須完全了解引擎。所以我們必須基于UE4在VR教學(xué)內(nèi)容制作上解決如下問(wèn)題:將模型素材有效的設(shè)計(jì)并搭建成教學(xué)內(nèi)容所需要的場(chǎng)景;實(shí)現(xiàn)教學(xué)場(chǎng)景中物體的交互性;實(shí)現(xiàn)教學(xué)內(nèi)容的引導(dǎo)和反饋。
2基于UE4對(duì)VR教學(xué)內(nèi)容制作的實(shí)現(xiàn)
首先我們對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行確定,根據(jù)相關(guān)的教材進(jìn)行內(nèi)容設(shè)計(jì),然后開(kāi)始準(zhǔn)備相關(guān)的模型素材實(shí)現(xiàn)場(chǎng)景搭建,在此基礎(chǔ)上我們得到了一個(gè)完全可視化的場(chǎng)景,但是只能看,不能用。接下來(lái)我們要全力轉(zhuǎn)向c++,用代碼配合藍(lán)圖的高效率開(kāi)發(fā)方式來(lái)完成邏輯判斷與反饋。我們要不斷設(shè)計(jì),不斷調(diào)試。比如VR電子實(shí)驗(yàn)教學(xué)中從簡(jiǎn)單電路開(kāi)始,一步步的完善我們底層的代碼和各部件的結(jié)果顯示。在配合高效動(dòng)畫(huà)設(shè)計(jì)和UI界面的設(shè)計(jì),不斷完善整個(gè)項(xiàng)目,來(lái)達(dá)成對(duì)VR教學(xué)內(nèi)容制作的實(shí)現(xiàn)。
2.1生成教學(xué)內(nèi)容的場(chǎng)景
根據(jù)相關(guān)的教材內(nèi)容,我們?cè)O(shè)計(jì)并搭建實(shí)驗(yàn)教學(xué)場(chǎng)景。在UE4的界面中,世界窗口上顯示實(shí)驗(yàn)場(chǎng)景的具體內(nèi)容,我們從下方的內(nèi)容瀏覽器窗口將相關(guān)模型素材添加到實(shí)驗(yàn)內(nèi)容中。然后將具體對(duì)象在右側(cè)
的世界大綱中打開(kāi)編輯,改變物體在場(chǎng)景中的坐標(biāo)參數(shù)、大小、顏色、材質(zhì)等自身屬性。通過(guò)命名分類,方便后期的添加,修改和刪除。從而生成和完善教學(xué)內(nèi)容的場(chǎng)景。
2.2教學(xué)內(nèi)容中物體的交互性。
我們的教學(xué)場(chǎng)景不僅僅是滿足看的功能還需要結(jié)合VR交互性強(qiáng)的特點(diǎn),實(shí)現(xiàn)場(chǎng)景中物體的拾取及調(diào)整。于是我們對(duì)所有的元器件進(jìn)行碰撞參數(shù)上面的設(shè)置,并且關(guān)聯(lián)手柄上面的按鍵(或手套)。這樣使用者完全可以用手柄(或手套)來(lái)操控虛擬實(shí)驗(yàn)室里面的一切物體,同時(shí)我們利用UE4強(qiáng)大的物理引擎系統(tǒng),模擬各物體之間的碰撞,形變,碎裂等情況。在配合粒子系統(tǒng)和渲染系統(tǒng),給使用者以最佳的交互體驗(yàn)。
2.3教學(xué)內(nèi)容的引導(dǎo)和反饋。
既然是教學(xué),那么系統(tǒng)必須對(duì)使用者在實(shí)驗(yàn)過(guò)程中的方式方法給出正確或者錯(cuò)誤的判斷,我們的預(yù)期目標(biāo)是讓一個(gè)完全沒(méi)有學(xué)過(guò)此實(shí)驗(yàn)的人能夠通過(guò)我們的引導(dǎo)下明白基礎(chǔ)原理,并且根據(jù)引導(dǎo)獨(dú)立完成實(shí)驗(yàn)。以電子實(shí)驗(yàn)內(nèi)容為例,當(dāng)體驗(yàn)者拿起一個(gè)元器件的時(shí)候,面前的玻璃會(huì)投影關(guān)于這個(gè)元器件的內(nèi)部結(jié)構(gòu)圖,并且進(jìn)行講解。并且你可以選擇完全引導(dǎo)模式,這樣當(dāng)你拿起這個(gè)元器件的時(shí)候,電路板上面會(huì)顯示你應(yīng)該放在哪邊。體驗(yàn)者也可以選擇半引導(dǎo)模式,在玻璃上面根據(jù)工作原理的電路圖,在電路板上面放置所有的元器件。而這樣的過(guò)程我們需要通過(guò)c++以及UE4獨(dú)有的藍(lán)圖來(lái)實(shí)現(xiàn)。
3.應(yīng)用實(shí)例
除上述提及的電子教學(xué)內(nèi)容制作,該軟件還可以充分發(fā)揮在建景,動(dòng)畫(huà)方面的功能,以及可視化藍(lán)圖的便捷性實(shí)現(xiàn)教學(xué)過(guò)程中需要遇到的各類實(shí)驗(yàn),解決實(shí)驗(yàn)設(shè)備購(gòu)買(mǎi)和維護(hù)成本昂貴,一次性使用以及人身安全等問(wèn)題。VR在醫(yī)學(xué)教學(xué)領(lǐng)域上的使用已經(jīng)初有成效,消防安全模擬,飛行器模擬等相關(guān)應(yīng)用也被廣泛開(kāi)發(fā)和應(yīng)用。這有利于體驗(yàn)者快速準(zhǔn)確的了解到體驗(yàn)內(nèi)容的相關(guān)知識(shí),并留下深刻印象。
基于UE4這樣優(yōu)秀成熟的軟件,使得VR教學(xué)內(nèi)容的開(kāi)發(fā)難度大大降低,相信不久的將來(lái)VR教學(xué)將成為學(xué)生教育的一種新方法,一改當(dāng)前單一的紙質(zhì)的、平面的教學(xué)模式。它所帶來(lái)的學(xué)習(xí)的高效性和趣味性也就不言而喻了。