蓋海龍 劉英明
(吉林藝術學院新媒體學院,吉林 長春 130012)
虛擬現實技術(VR,全稱為Virtual reality)是發生在人類和計算機之間一種比較復雜的數據信息交互技術,它結合計算機圖形圖像技術和顯示傳感技術,營造出一種虛擬的人工仿真環境,同時結合動作捕捉功能使得人在虛擬場景中與物體進行即時互動。隨著虛擬現實已經被列入國家“十三五”規劃[1],越來越多類似于微生物研究、考古、醫療教育、無人駕駛等大量需要培訓操作技能的行業也迫切需要虛擬現實技術的應用才能得以實現。虛擬現實發展已經進入了快車道,人類社會將越來越便捷的體會到技術更新所帶來的福利和便捷,從而對未來的教育世界產生重大影響。
基于虛擬現實開發的教學課件應用于教學產生的效果:通過使用虛擬現實技術,可以解決真實實驗環境中的局限,對于空間、時間和設備都能夠做到一定程度的突破,這是VR 技術應用價值的直接體現。比如,一些化學試驗通常伴有高腐蝕性和爆炸的危險,如果我們通過虛擬現實技術制作出一款虛擬仿真的化學實驗場景,學生們通過虛擬場景進行化學實驗,這樣就避免了試驗過程中的不當操作而產生危害的可能。此外,在微觀的生物世界中,有些分子無法直接被肉眼觀察到,通過創建微觀分子虛擬仿真實驗室,就可以在虛擬現實的場景中觀察微觀的分子和粒子。同樣,VR 技術在航空、旅游、醫療等方面都有豐富應用前景。
以PPT 為典型代表的教學課件是一種日常教學最常用的教學手段,但是它具有表現形式單一、缺乏交互體驗等諸多缺點。但是基于虛擬現實技術開發出來的多媒體課件符合中小學生好奇心強,喜歡游戲的心理特點,并且有一定的交互性和趣味性,與日常教學生活中所使用的Flash、PowerPoint 等軟件相比具有更加強大的功能和更完美的效果,可以實現沉浸式學習和自主學習。
心臟的建模是一個比較復雜的過程,主要在3Ds Max 軟件中實現。
2.2.1 初步建立模型
首先確定平面布局與功能,了解所要建造模型的尺寸與參數,例如本例中對于心臟模型的建造,則采用異形結構建模方法,分模塊建造各部分模型,然后完成拼接。
2.2.2 添加材質貼圖與燈光
將單色材質球做以簡單修改后,使其變成Vary 材質,然后設置參數,需要注意參數細分程度不宜過高,并且需要注意個別材質折射、反射以及凹凸。調整好材質以后,按材質選擇在材質球中,將一種材質的模型分別成組,這樣處理是為了方便修改。如果材質出現接縫,把材質球里面的剪裁放置項點開,查看材質圖像,調整。
2.2.3 真實效果圖展示
值得注意的是,在模型的建立過程中,需要保持足夠的耐心與細心,選擇比較容易的科學的建模的方法。這樣的話,我們在建模中可以省去很多不必要的錯誤和麻煩,而且在建設過程中必須有不斷優化的意識,讓我們的模型看得更加精細,效果如圖1 所示。

圖1 心臟模型
本次虛擬現實課件的建模,主要涉及到兩個重大技術,它包括三維建模技術和虛擬現實技術,這兩種技術的掌握缺一不可,首先要通過3D 建模技術,建立場景中的模型,然后將場景中的模型導入到Unity 3D 中進行虛擬場景的搭建和漫游的實現以及交互的實現,整個設計在Unity 中的狀態機中的流程如圖1 所示。

圖2 狀態機
將3D 模型導入的Unity 3D 軟件中以后,可能會因為兩款軟件的版本不同或者特性不同而產生很多不匹配的問題和bug。比如,對于3D 模型導入Unity 中后,這個模型角度不匹配的問題,我們可以先將它設置為FBX 文件之后,然后再導入3D立體軟件中。這樣做的結果是,無論它在3ds max 中還是Unity 3D 中,他的模型的方向都是與我們的目視方向是一致的,效果如圖3 所示。

圖3 心臟截面
C#語言是微軟公司發布的一款面向對象的高級程序設計語言,具有完全開源,跨平臺的獨特優勢。既安全簡單,又穩定優雅,是一款非常主流的高級編程語言,由C 和C++兩種語言衍生而來,以其強大的創新的語言特性、操作能力和便捷的面向組件編程的支持成為了.NET 開發的首選語言。
C#可以最大程度地開發和利用計算與通訊領域[6]。本設計中的部分核心腳本如下,代碼鏈接在攝相機上,經過目光發射的射線被目標物體檢測到后,它主要完成以下幾個指令:
(1)發射射線,檢測前方有可交互的對象;
(2)如果檢測到有交互對象,去獲得它身上的功能腳本;
(3)開始計時,到達3 秒,觸發功能;
(4)如果未達到3 秒用戶中途離開,則重新計時;
(5)完成后依次進行下一個狀態。

此外,還需要編譯代碼執行以下指令,以確保交互能在對象是否存在的狀態下做出反應。
(1)確定準星,使其能夠吸附到對象;
(2)沒有交互對象的時候,重置準星的位置。
這個模塊的設計使用軟件為Adobe Audition,這是一款目前國際比較主流的音頻編輯和混合處理軟件。
2.5.1 聲音變速
在Adobe Audition 軟件中,依次操作【效果】→【時間和間距】→【變速(進程)】→【比率】,準備為100,增加表示聲音變慢,降低表示聲音變快。
2.5.2 去除人聲
在Adobe Audition 中,依次操作【效果】→【立體聲聲響】→【中置聲道提取器】→【人聲移除】→【中心聲道】, 將中心聲道的按鈕下拉到最低,即可實現人聲去除。
以上內容制作完成,經過測試沒有問題之后,就可以在Unity 3D 中發布體驗。引擎現提供PC、IOS、Android 等多種發布平臺,筆者以發布到安卓手機為例闡述方法。首先在Unity3D 的菜單欄文件選項下,選擇發布設置下的Android ,然后單擊Open Download Page 按鈕,依次執行Edit、Preferences、External tools 菜單命令,添加環境變量路徑,轉換平臺后單擊Player Settings 按鈕,配置相關屬性,創建Company Name 和Product Name,最后執行File-Build Settings-Build 菜單命令進行測試,導出APK 格式的文件即可運行。
本系統融合了虛擬現實、心臟建模、人機交互三大技術,一定程度上實現了虛擬場景與真實世界的完美結合,給智能課件設計和情境教學帶來了新的方向。隨著我國互聯網技術和虛擬現實技術的進一步的發展,虛擬現實的技術的應用也將不僅僅局限于虛擬課件的制作,基于VR 的項目將會涉及到我們生活培訓、教育、醫療、娛樂的各個方面。