徐志平
(復旦大學 計算機科學技術學院,上海 201203)
美國VPL公司創始人Jaron Lanier于1989年創造的虛擬現實(Virtual Reality,VR)這一概念,是利用高性能計算機技術產生讓人身臨其境的虛擬環境[1]。在這種虛擬現實環境中,一般通過使用頭戴式顯示器、傳感器頭盔和數據手套,讓人們視覺感知、聽覺感知和觸覺感知就像在真實世界中一樣。頭戴顯示器主要涉及三維技術、傳感器技術、模擬技術以及并行技術的整合使用,而傳感器頭盔和數據手套主要涉及人工智能技術、傳感器技術、模擬技術以及多傳感器技術的整合使用。虛擬現實技術以往主要用于軍工以及航天等領域,其目的是通過虛擬現實環境的低成本可重復性減少高成本的意外損失。如今,隨著虛擬現實技術門檻的降低,VR設備以及技術逐步在教育領域得到普及和應用,為廣大學習者帶來一種新的知識獲取形式[2-3]。
隨著虛擬現實技術的不斷發展,學校于2009年開設了虛擬現實引論課程,該課程安排16周的教學時間。開設該課程的目的是讓學生提前了解虛擬現實技術,初步了解虛擬現實涉及的技術環節,為以后從事這一領域作一定的準備。針對虛擬現實內容創作的流程,筆者開發了相應的課程內容,但在課程建設過程中,筆者發現VR技術的教學普及受到5個方面的影響。
VR設備的價格對VR設備的普及來說是不可逾越的障礙。事實上,如果VR設備的價格高于普通大眾能夠承受的能力,無論它再怎么優秀,也會影響它的最終普及。目前市場上VR產品的數量達到幾百種,如CAVE(Cave Automatic Virtual Environment)等專用的虛擬現實系統價格高達幾百萬人民幣。在軍事演習或航空航天專業領域,這種價格可以承受,但在教育領域就非常昂貴。這就是VR設備在價格上的局限性。
雖然目前市面上也有廉價的基于智能手機的VR產品,但其使用手機本身的陀螺儀作為VR的姿態輸入,且由于手機本身分辨率一直徘徊在14ppd(pixel per degree,像素每度,是指一度所包含的像素),遠小于符合人類視覺需求的“視網膜”級別(60ppd)體驗,因此目前大部分基于手機的VR產品都會產生一些紗門效應。紗門效應指的是在像素不足的情況下由實時渲染引起的高對比度邊緣上的分裂閃爍。大多數智能手機現在配備了一個1080P全清晰度屏幕,看起來遠遠超過視網膜屏幕的分辨率,但是它的屏幕經過VR眼鏡上的光學透鏡放大后,由于手機屏幕分辨率不夠高,在放大過程中像素會明顯具有點陣效應。加上VR內容需要分別傳遞到左右眼,因此手機的屏幕又要分割成一半,使單眼的分辨率又減少一半。另一方面,由于手機設備處理能力有限導致的畫面延遲,會引起VR使用者的暈動癥。在虛擬現實設備中,這種延遲必須控制在20毫秒內,用戶不會因延遲而產生眩暈。由于技術和設備的限制,市場上基于智能手機的VR設備在20毫秒內無法做到實時畫面更新,這就是便攜VR設備的性能局限性。
基于PC連接的顯示性能出色的VR設備至今仍然需要通過有線與PC相連,例如Oculus Rift和HTC Vive 頭戴式顯示器需要與具有高性能圖形卡的PC連接。這其中牽扯到大量的線纜鏈接,VR使用者在使用過程中必須小心這些線纜,以免被線纜纏繞或者被線纜絆倒。HTC Vive的最大可追蹤空間為3.5米×3.5米,而Oculus Rift的最大可追蹤空間為2.5米×2.5米,并沒有達到人們期望的隨時隨地使用VR的要求,這就造成了VR設備操作的空間局限性。
VR環境具有較高的沉浸性,豐富的三維立體環境對于用戶的視覺沖擊是極大的,但是VR內容的可交互性與現實世界的教學內容尤其是書本內容的低可交互性形成了強烈的反差,可能會給VR使用者帶來心理上的落差,使VR使用者偏向沉迷于虛擬環境而對現實世界內容產生消極態度,這種情況反而會影響VR使用者對知識的學習和吸收。
當前缺乏持久的、不斷跟隨技術進步的VR內容創作以及相關人員的培訓機制。VR產品及其技術是不斷更新的,這就對虛擬現實的內容開發提出了諸多要求。不同的VR頭戴顯示設備,甚至是同一家公司的不同類型的VR頭戴顯示設備,需要不同的代碼來實現對VR設備的控制,這給虛擬現實內容開發人員帶來不小的挑戰。
VR內容的創作和游戲創作有一些類似,都需要經過內容構思、模型構建、材質紋理構建、動畫和骨架裝配、燈光設計、特效設計以及代碼設計等步驟。有的步驟可能比較簡單,甚至省略,但大體上流程是差不多的。唯一和游戲創作不同的是,需要虛擬現實甄別出虛擬現實環境中參與者真實的小范圍移動還是在虛擬環境中的大范圍位移。由于前文提及的VR設備空間局限性,一般采用傳送(Teleport)的方式解決。但這種方式對便攜式的虛擬現實設備帶來頻繁的內容刷新的需求,對便攜式設備的性能和電池續航能力提出了不小的要求,也對虛擬現實內容開發人員優化代碼和優化三維模型提出了一定要求,而這些需求的滿足往往需要經過一段時間的培訓和試錯。
在模型構建環節,因為虛擬現實設備的特殊性,需要對模型的三角面片數進行適當的優化,這種優化需求最好在建模的初期就考慮進去。同時,由于模型的優化對材質紋理提出了較高的要求,利用高質量的材質紋理來抵消模型優化造成的模型細節的丟失,而材質和紋理的創作和管理又不是一朝一夕之功,需要大量的積累。創作人員需要不斷地熟悉紋理創作工具(例如PhotoShop、GIMP、Substance Painter等),這也需要對相應人員進行持續不斷的培訓和試錯。
在動畫和骨架裝配環節,需要創作人員熟悉物體的簡單運動、IK運動、生物的肌肉運動,而這往往需要大量時間的培訓和積累。特效設計環節更對內容創作人員的創造能力和特效的熟練掌握能力的考驗。在當前的技術條件下,特效主要包含兩個領域:一個是基于Shader的特效,另一個是基于粒子系統的特效。這兩個領域每年都有新的技術出現,需要內容開發人員不斷、持久地跟進新技術,而最后的代碼設計環節,更對開發人員提出了持久學習的要求。虛擬現實技術每幾年就會更新一次,需要不斷更新代碼以適應新的技術,這對代碼開發人員也是一種持久的挑戰。
針對價格、空間和性能的局限性,我們選擇HTC Vive Focus頭戴式虛擬現實眼鏡作為主要硬件設備。VIVE Focus搭載驍龍835移動平臺,在性能方面算得上一個“性能怪獸”。其采用分辨率為2880×1600的OLED屏幕,刷新率為75Hz。VIVE Focus的顯示效果在VR一體機中已是頂級水準,比手機眼鏡盒產品的屏幕細膩度更好。VIVE Focus內置高精度九軸傳感器與距離傳感器,采用六自由度大空間追蹤技術,與其配套的操控手柄同樣內置高精度九軸傳感器。VIVE Focus是一款真正的獨立設備,而VIVE與VIVE Pro等虛擬現實設備需要購置高配置PC才能使用。Focus在售價上與835旗艦手機類似,無需在硬件上進行額外投入,這也是目前用于解決設備價格、空間以及性能局限問題的綜合最佳硬件方案。
針對內容創作培訓機制的局限性,從構建一個簡單的科幻題材的大門為教學樣例入手,見圖1,教學生使用Blender先進行低多邊形建模,對低多邊形模型進行UV映射編輯,再以低多邊形模型為基礎進行模型細分,在細分的基礎上增加細節形成高多邊形模型。指導學生利用Substance Painter工具結合兩種分辨率的模型進行材質和紋理的創作,主要涉及構建模型的漫反射圖、法向量圖、環境貼圖等內容。在此基礎上,告知學生如何構建自己的紋理庫,如何有效利用網絡上別人已做好的免費開源紋理和貼圖,以適應日后虛擬現實內容創作中大量的紋理需求。讓學生通過給低多邊形模型加上高分辨率的紋理貼圖,從而達到利用高質量材質紋理來抵消模型優化帶來的模型細節丟失的效果,并將該低多邊形模型導入Focus頭戴式虛擬現實眼鏡,讓學生觀看和評估實際的效果。

圖1 科幻題材大門教學樣例
針對用戶希望在虛擬現實環境中得到豐富內容交互的需求,指導學生用Blender對已建立的模型建立相應的路徑動畫,同時指導學生利用Blender的導出功能將模型和動畫導出到通用的FBX文件格式,并在Unity中加以使用。
針對特效設計環節,指導學生基于Shader結合粒子系統在Unity中學會設計特定的視覺效果,譬如水波、火焰等特效,使虛擬現實的環境更加豐富多彩。在每年的教學過程中,加入新的內容,替換老舊的內容,使學生盡可能接觸到最新的技術。
在代碼設計環節,以C#作為腳本控制語言,讓學生進行學習。通過學習C#,利用C#社區大量現成的例子和優良的代碼編輯環境提升學生的編程技能,這種技能的提升對學生而言也是有益的,即便學生將來不從事虛擬現實的內容開發,C#程序設計的技能也能幫助學生在未來的學習和工作中起到很好的幫助作用。
通過一個學期的課程學習,學生逐步掌握了虛擬現實內容的開發和制作,開發出了不少優秀的內容,見圖2。

圖2 學生設計的虛擬現實環境
虛擬現實技術在推廣和應用中雖然會遇到種種困難,但作為一項新技術在教育領域的推廣,需要教育工作者和技術人員針對虛擬現實技術的特點,發揮虛擬現實技術的長處,用技術和非技術的手段彌補目前虛擬現實技術的短板,從而有效激發學生的學習興趣,能夠更為高效地創建虛擬現實內容,使虛擬現實技術更多、更好地運用于現代化教育教學中,其效果將是難以言喻的。