1
本文作者: 劉芳平 | 2016-12-05 21:06 |
關(guān)于VR,幾乎人所共知的一大問題就是眩暈,而眩暈產(chǎn)生的重要原因就是用戶看到的畫面運動與身體的運動不一致。特別是在第一人稱游戲當中——你在虛擬的世界里行走,而現(xiàn)實世界卻是坐著或是站著的。
這就是為什么許多技術(shù)和產(chǎn)品被發(fā)明出來應(yīng)對這一問題,例如VR跑步機,它可以通過用戶在跑步機上的“原地踏步”來實現(xiàn)虛擬世界的移動,從而讓你身體的運動和畫面的運動保持一致;還有,一些游戲體驗采用穿越式(teleportation)的位移方式,從而避免視覺上的位移感受。
而最好的解決辦法,其實是像HTC Vive那樣,使用空間定位技術(shù)追蹤用戶的位置,使用戶在真實環(huán)境中的走動完全變成虛擬世界里的走動。但Vive的問題在于,其定位空間是有限的,只有房間規(guī)模,用戶不可能無限制地走下去,所以很多時候仍然需要用到teleportation來進行位移。
有限的實體空間與無限的虛擬世界之間的矛盾,是VR需要解決的重要問題。即便對擁有大范圍空間定位系統(tǒng)的VR主題公園來說也是如此。
這也是魏立一教授演講開場時向大家介紹的VR問題。
2016年12月5日,這位香港大學(xué)教授在澳門舉辦的SIGGRAPH Asia大會上進行了題目為“Inception, Wide Awake”的演講,介紹如何像《盜夢空間》那樣,在有限的VR空間定位范圍內(nèi),塞進大范圍的虛擬地圖,應(yīng)用類似“鬼打墻”一樣的設(shè)計。其演講內(nèi)容基于此前發(fā)表的一篇論文《Mapping Virtual and Physical Reality》,作者除了魏立一教授,還包括Qi Sun和Arie Kaufman。
a. 虛擬世界地圖;b. 現(xiàn)實空間的地面大??;c. 現(xiàn)實空間的實驗室設(shè)置;d. 虛擬世界畫面;e. 用戶頭顯看到的畫面
那么這種“鬼打墻”的技術(shù)到底是如何如何實現(xiàn)的呢?魏立一教授進行了詳細解答。
為了在一個小空間里實現(xiàn)更大的虛擬世界,就需要引導(dǎo)用戶的移動,這在全封閉的VR頭顯中是可以做到的。關(guān)鍵在于不讓用戶發(fā)覺,保持畫面的真實感。
實現(xiàn)的過程包含兩個關(guān)鍵步驟:
平面映射是一種被用于解決許多問題的方法,在這項應(yīng)用中,是需要在一個已經(jīng)設(shè)定好的真實場景中,通過定制化的平面映射將不規(guī)則的路線映射到真實場景中。
如上圖所示,最左邊的a是虛擬地圖的靜態(tài)映射,整個空間面積需要200 × 200;b、c、d和e都是平面映射到不同大小的真實場景中,其中d和e是避開障礙物的映射。
平面映射的關(guān)鍵在于保持VR運動的距離和角度,并引導(dǎo)用戶不要撞上障礙物或是離開邊界。
第二個關(guān)鍵步驟在于用特定的渲染方式,將正常的用戶畫面轉(zhuǎn)換成扭曲過的地圖上用戶看到的畫面。
如上圖所示,左邊a為假設(shè)正常渲染的的畫面;b為不作扭曲渲染看到的畫面,上面有一些“鬼影”;c是手動對b進行扭曲并去掉“鬼影”的畫面,僅作參考;d是經(jīng)過扭曲處理的畫面,去遮擋的部分用綠色顯示;e是用比較粗暴的方法對去遮擋部分進行填充;f是論文作者所使用的渲染辦法,使用到了碎片化深度值(fragment depth values)來彌補去遮擋部分。
經(jīng)過真人測試,這種方法可以在壓縮地圖,讓用戶避開障礙物的同時,不會大幅增加用戶的不適感和眩暈。
雖然這種方法效果不錯,但也存有一些局限,包括以下幾個方面:
1、這種方法可以將高度信息加入渲染當中,比如用戶跑、跳或彎腰,但如果是緩緩走上一個斜坡,它可能無法感知到。
2、畫面及位移的保真程度與壓縮的比例有關(guān),如果虛擬場景大小和真實場景相關(guān)較小,保真度就高,反之則低。
3、巨大的開放空間無法被壓縮進小空間里,此時可能仍需要用到teleportation。
a. 去遮擋區(qū)域,b. 畫面失真
4、這種方法無法處理巨大的,且與周邊環(huán)境深度信息不同的去遮擋畫面,會出現(xiàn)畫面失真的情況,如上圖所示。
視頻簡介:
論文下載:www.liyiwei.org/papers/vr-sig16
圖片來源:魏立一教授論文
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。