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