蓋海龍 劉英明
(吉林藝術(shù)學院新媒體學院,吉林 長春 130012)
虛擬現(xiàn)實技術(shù)(VR,全稱為Virtual reality)是發(fā)生在人類和計算機之間一種比較復雜的數(shù)據(jù)信息交互技術(shù),它結(jié)合計算機圖形圖像技術(shù)和顯示傳感技術(shù),營造出一種虛擬的人工仿真環(huán)境,同時結(jié)合動作捕捉功能使得人在虛擬場景中與物體進行即時互動。隨著虛擬現(xiàn)實已經(jīng)被列入國家“十三五”規(guī)劃[1],越來越多類似于微生物研究、考古、醫(yī)療教育、無人駕駛等大量需要培訓操作技能的行業(yè)也迫切需要虛擬現(xiàn)實技術(shù)的應用才能得以實現(xiàn)。虛擬現(xiàn)實發(fā)展已經(jīng)進入了快車道,人類社會將越來越便捷的體會到技術(shù)更新所帶來的福利和便捷,從而對未來的教育世界產(chǎn)生重大影響。
基于虛擬現(xiàn)實開發(fā)的教學課件應用于教學產(chǎn)生的效果:通過使用虛擬現(xiàn)實技術(shù),可以解決真實實驗環(huán)境中的局限,對于空間、時間和設(shè)備都能夠做到一定程度的突破,這是VR 技術(shù)應用價值的直接體現(xiàn)。比如,一些化學試驗通常伴有高腐蝕性和爆炸的危險,如果我們通過虛擬現(xiàn)實技術(shù)制作出一款虛擬仿真的化學實驗場景,學生們通過虛擬場景進行化學實驗,這樣就避免了試驗過程中的不當操作而產(chǎn)生危害的可能。此外,在微觀的生物世界中,有些分子無法直接被肉眼觀察到,通過創(chuàng)建微觀分子虛擬仿真實驗室,就可以在虛擬現(xiàn)實的場景中觀察微觀的分子和粒子。同樣,VR 技術(shù)在航空、旅游、醫(yī)療等方面都有豐富應用前景。
以PPT 為典型代表的教學課件是一種日常教學最常用的教學手段,但是它具有表現(xiàn)形式單一、缺乏交互體驗等諸多缺點。但是基于虛擬現(xiàn)實技術(shù)開發(fā)出來的多媒體課件符合中小學生好奇心強,喜歡游戲的心理特點,并且有一定的交互性和趣味性,與日常教學生活中所使用的Flash、PowerPoint 等軟件相比具有更加強大的功能和更完美的效果,可以實現(xiàn)沉浸式學習和自主學習。
心臟的建模是一個比較復雜的過程,主要在3Ds Max 軟件中實現(xiàn)。
2.2.1 初步建立模型
首先確定平面布局與功能,了解所要建造模型的尺寸與參數(shù),例如本例中對于心臟模型的建造,則采用異形結(jié)構(gòu)建模方法,分模塊建造各部分模型,然后完成拼接。
2.2.2 添加材質(zhì)貼圖與燈光
將單色材質(zhì)球做以簡單修改后,使其變成Vary 材質(zhì),然后設(shè)置參數(shù),需要注意參數(shù)細分程度不宜過高,并且需要注意個別材質(zhì)折射、反射以及凹凸。調(diào)整好材質(zhì)以后,按材質(zhì)選擇在材質(zhì)球中,將一種材質(zhì)的模型分別成組,這樣處理是為了方便修改。如果材質(zhì)出現(xiàn)接縫,把材質(zhì)球里面的剪裁放置項點開,查看材質(zhì)圖像,調(diào)整。
2.2.3 真實效果圖展示
值得注意的是,在模型的建立過程中,需要保持足夠的耐心與細心,選擇比較容易的科學的建模的方法。這樣的話,我們在建模中可以省去很多不必要的錯誤和麻煩,而且在建設(shè)過程中必須有不斷優(yōu)化的意識,讓我們的模型看得更加精細,效果如圖1 所示。
圖1 心臟模型
本次虛擬現(xiàn)實課件的建模,主要涉及到兩個重大技術(shù),它包括三維建模技術(shù)和虛擬現(xiàn)實技術(shù),這兩種技術(shù)的掌握缺一不可,首先要通過3D 建模技術(shù),建立場景中的模型,然后將場景中的模型導入到Unity 3D 中進行虛擬場景的搭建和漫游的實現(xiàn)以及交互的實現(xiàn),整個設(shè)計在Unity 中的狀態(tài)機中的流程如圖1 所示。
圖2 狀態(tài)機
將3D 模型導入的Unity 3D 軟件中以后,可能會因為兩款軟件的版本不同或者特性不同而產(chǎn)生很多不匹配的問題和bug。比如,對于3D 模型導入Unity 中后,這個模型角度不匹配的問題,我們可以先將它設(shè)置為FBX 文件之后,然后再導入3D立體軟件中。這樣做的結(jié)果是,無論它在3ds max 中還是Unity 3D 中,他的模型的方向都是與我們的目視方向是一致的,效果如圖3 所示。
圖3 心臟截面
C#語言是微軟公司發(fā)布的一款面向?qū)ο蟮母呒壋绦蛟O(shè)計語言,具有完全開源,跨平臺的獨特優(yōu)勢。既安全簡單,又穩(wěn)定優(yōu)雅,是一款非常主流的高級編程語言,由C 和C++兩種語言衍生而來,以其強大的創(chuàng)新的語言特性、操作能力和便捷的面向組件編程的支持成為了.NET 開發(fā)的首選語言。
C#可以最大程度地開發(fā)和利用計算與通訊領(lǐng)域[6]。本設(shè)計中的部分核心腳本如下,代碼鏈接在攝相機上,經(jīng)過目光發(fā)射的射線被目標物體檢測到后,它主要完成以下幾個指令:
(1)發(fā)射射線,檢測前方有可交互的對象;
(2)如果檢測到有交互對象,去獲得它身上的功能腳本;
(3)開始計時,到達3 秒,觸發(fā)功能;
(4)如果未達到3 秒用戶中途離開,則重新計時;
(5)完成后依次進行下一個狀態(tài)。
此外,還需要編譯代碼執(zhí)行以下指令,以確保交互能在對象是否存在的狀態(tài)下做出反應。
(1)確定準星,使其能夠吸附到對象;
(2)沒有交互對象的時候,重置準星的位置。
這個模塊的設(shè)計使用軟件為Adobe Audition,這是一款目前國際比較主流的音頻編輯和混合處理軟件。
2.5.1 聲音變速
在Adobe Audition 軟件中,依次操作【效果】→【時間和間距】→【變速(進程)】→【比率】,準備為100,增加表示聲音變慢,降低表示聲音變快。
2.5.2 去除人聲
在Adobe Audition 中,依次操作【效果】→【立體聲聲響】→【中置聲道提取器】→【人聲移除】→【中心聲道】, 將中心聲道的按鈕下拉到最低,即可實現(xiàn)人聲去除。
以上內(nèi)容制作完成,經(jīng)過測試沒有問題之后,就可以在Unity 3D 中發(fā)布體驗。引擎現(xiàn)提供PC、IOS、Android 等多種發(fā)布平臺,筆者以發(fā)布到安卓手機為例闡述方法。首先在Unity3D 的菜單欄文件選項下,選擇發(fā)布設(shè)置下的Android ,然后單擊Open Download Page 按鈕,依次執(zhí)行Edit、Preferences、External tools 菜單命令,添加環(huán)境變量路徑,轉(zhuǎn)換平臺后單擊Player Settings 按鈕,配置相關(guān)屬性,創(chuàng)建Company Name 和Product Name,最后執(zhí)行File-Build Settings-Build 菜單命令進行測試,導出APK 格式的文件即可運行。
本系統(tǒng)融合了虛擬現(xiàn)實、心臟建模、人機交互三大技術(shù),一定程度上實現(xiàn)了虛擬場景與真實世界的完美結(jié)合,給智能課件設(shè)計和情境教學帶來了新的方向。隨著我國互聯(lián)網(wǎng)技術(shù)和虛擬現(xiàn)實技術(shù)的進一步的發(fā)展,虛擬現(xiàn)實的技術(shù)的應用也將不僅僅局限于虛擬課件的制作,基于VR 的項目將會涉及到我們生活培訓、教育、醫(yī)療、娛樂的各個方面。