為什麼要關注虛擬現實,因為所有現實都是虛擬的

為什麼要關注虛擬現實,因為所有現實都是虛擬的

這次要推薦給大家的是今年FacebookF8大會上,Oculus的首席科學家Michael Abrash關於VR的演講影片。

比起WWDC和Google I/O,F8大會中引人注目的內容不算多,但Michael Abrash的這個演講卻非常值得一看,它或許能夠告訴你為什麼如今微軟、索尼、HTC……等大小廠商都迫不及待地進入了VR領域。

Abrash 是計算機圖形界的泰斗,他的《Zen of Graphics Programming》曾影響了整整一代的程式設計師。18年 前,他與 John Carmack 合力完成了世界上第一個 3D 影象引擎,將真正的 3D 世界帶到了計算機上。上個月月 底,Abrash 加入了 Oculus 成為首席科學家,與擔任 Oculus CTO 的 Carmack 再次雙劍合璧。

《VR:體驗另一個世界》

Michael用「駭客帝國」中Morpheus的名言來說明虛擬現實的核心——“What is real? How do you define ‘real’? If you‘re talking about what you can feel, what you can smell, what you can taste and see, then ’real‘ is simply electrical signals interpreted by your brain。”(“什麼是真實?你如何定義‘真實’?如果真實指的是你所感覺到的、所聞到的、所嚐到的和所見到的,那麼‘真實’就僅僅是被大腦所編譯的電訊號。”)

如果用工程式的思維方式來思考「真實體驗」的實現,那麼虛擬現實幾乎就是一件不可能的事情;但從「如何欺騙感受器」的角度入手,卻可以發現很多可探索的可能性。

我們所感知到的並不是世界的全貌,我們是透過感受世界的模型來理解世界,體驗的真實性在於感知——這種思路對於任何針對「體驗」的設計,都是有啟發性的。

如果還沒有聽過Michael Abrash的這場演講,推薦你觀看下面這個影片,感受一下這位傳奇人物對「現實」的理解。

Michael Abrash(邁克爾·亞伯拉什),他是計算機圖形領域首屈一指的大師! 他是著名的計算機圖形程式設計書籍《Graphics Programming Black Book》的作者,同時也是一位擁有高超程式設計技巧的開發者。Michale Abrash的職業經歷非常豐富,他所效力過的公司包括微軟、Id Software、Intel等,參與過的專案涉及作業系統開發、遊戲開發、人工智慧專案、處理器設計專案等多個領域,同時他當然也是一位傑出的軟體顧問和技術專欄作者。Michael Abrash於2011年加入Valve公司,從事遊戲相關的研究專案。

傳奇的圖形程式設計師Michael Abrash宣佈加盟虛擬現實頭盔公司Oculus擔任首席科學家,他再次與另一位傳奇遊戲程式設計師卡馬克(John Carmack)合作,致力於將虛擬現實帶入生活。Facebook剛剛以20億美元收購Oculus,卡馬克是Oculus的首席技術官。

Abrash是《Zen of Graphics Programming》和《Zen of Code Optimization》的作者,1990年代在微軟參與了Windows NT 3。1的圖形技術開發,在 id Software開發了遊戲Quake,Quake釋出之後又回到了微軟,在Gabe Newell努力不懈的說服下於2011年加入了Valve。

Abrash認為Facebook收購Oculus是好事,因為Facebook擁有解決虛擬現實難題的工程、資源和長期承諾。

虛擬現實所存在的 3 大難點

Abrash 是計算機圖形界的泰斗,他的《Zen of Graphics Programming》曾影響了整整一代的程式設計師。18年 前,他與 John Carmack 合力完成了世界上第一個 3D 影象引擎,將真正的 3D 世界帶到了計算機上。上個月月 底,Abrash 加入了 Oculus 成為首席科學家,與擔任 Oculus CTO 的 Carmack 再次雙劍合璧。以下是 Abrash 在 2013年 遊戲開發者大會(GCD)上的演講,主要介紹了實現 VR 的一些難點。

為了方便讀者,先在這裡給出一些名詞解釋。

VR:虛擬現實 RR:真實現實 VR 的虛像:VR 在現實世界中對應的像,並不存在,具有觀察者主觀感受上 VR 中的像應該存在與 RR 的位置,大小,和與觀察者所成角度等因素。

Abrash 在演講之初表達了對 VR 的樂觀,認為 VR 會像當年的 3D 影象引擎一般給計算機界帶來一場革命,然後他提到了現在 VR 主要存在 3 個技術上的難點。

VR 的虛像必須固定在特定位置

VR 首先要解決的問題是,不論頭部怎樣移動,VR 給出的畫面都要讓使用者的大腦認為相同的物體出現在了相同的地點。如果 VR 的虛像位置與大腦預計的物體應該出現的位置稍有偏差,大腦便會告訴我們,“這不是現實”。

這說起來容易,實際上卻極為困難。首先是角度問題。由於顯示屏是平面的,當用戶頭部轉動,那之前的物體則需要出現在螢幕上不同的位置。比如在下圖中,三角形代表某 VR 的虛像,當用戶轉頭 20°後,它出現在了螢幕上不同的位置。

為什麼要關注虛擬現實,因為所有現實都是虛擬的

其次是景深的問題。在 VR 中,每個物體的虛像與觀察者的距離構成了其景深,兩個一樣大小的物體在景深不同的情況下,如果觀察者的頭部轉動同一角度,在螢幕上的位移是不一樣的。也就是說每次頭部轉動,每個景深上(或者說每個畫素點)的物體都要被以代入不同的角度值重新計算。

追蹤必須精確

要讓 VR 世界中的虛像都出現在相同的位置,首先需要保證裝置對觀察者的追蹤是準確的。也就是說裝置要能準確的追蹤頭部轉動的角度,或者發生的位移,才能透過演算法改變螢幕上的影象使 VR 中的虛像固定在相同位置。那需要多準確?Abrash 認為要達到 2 米外能辨別一毫米的移動這種級別的追蹤才叫 “足夠精準”,然而這種級別的追蹤裝置目前並不是消費者可以承受的。

延遲必須降到最低

事實上,VR 裝置遇到的最麻煩的問題是延遲,Arash 透過一些空間—時間表來說明延遲所會帶來的問題。

為什麼要關注虛擬現實,因為所有現實都是虛擬的

在上圖中,x 軸是距離,y 軸是時間。我們可以看到,隨著時間增長,距離並沒有變化。這被用來表示 RR 中一個靜止的物體。

為什麼要關注虛擬現實,因為所有現實都是虛擬的

在上圖中,隨著時間的增長,物體作出了位移。這表示 RR 中一個移動的物體。明白?接下來我們要進入 VR 的世界了。

為什麼要關注虛擬現實,因為所有現實都是虛擬的

這張圖表示 VR 中一個移動的物體。因為螢幕每重新整理一次,物體才會產生位移,所以這張時間—空間圖出現了折線:VR 的虛像會在相同位置停留一段時間,在下一次重新整理後產生位移。不過因為重新整理的頻率很快,所以我們的大腦還是會認為 VR 世界中的虛像產生的是連續位移。理解?那我們繼續。

為什麼要關注虛擬現實,因為所有現實都是虛擬的

這是 VR 中更細節的情況,每個畫素實際上可以發出三原色的光,在這張圖的情況中,三種顏色維持的時間相同,所以最後觀察者眼中的場景是一個白色的物體產生位移。(如果背景不是白色)

為什麼要關注虛擬現實,因為所有現實都是虛擬的

前幾張圖中,我們都假設觀察者是靜止的。現在我們讓觀察者的頭從左向右快速轉動,在以觀察者為靜止點轉換座標系後,結果如上圖所示。我們發現一個畫素上,單次重新整理的三種顏色的光並不會被投射到觀察者視網膜上相同的位置。

為什麼要關注虛擬現實,因為所有現實都是虛擬的

透過上圖我們可以看到,這樣的結果是這個畫素的左方會是藍和綠所合成的青色,右方則是紅和綠合成的黃色,只有中間是白色。