Oculus 工程師: VR 永不成功?美軍專家論斷存在明顯漏洞

雷鋒網按:本文作者胡韜,畢業於南加州大學,Oculus 第二位華人工程師。胡韜曾參與 Oculus 多個 VR 軟件項目的開發(Oculus Store, Oculus Video, Oculus Social),目睹 Rift/Gear 從粗糙的開發者版本逐漸迭代為成熟的消費者版本,並經歷了整個 VR 產業鏈的崛起和逐漸完善。雷鋒網已獲授權。




Oculus Rift 上最出眾的遊戲之一《無處可逃》。

這幾天被一篇名為《美軍專家表示 VR 可能永遠不會成功》的文章刷屏了,好多朋友過來問我 VR 是不是偽需求,VR 行業能走多遠。我想基於我在 VR 行業的積累,分享些關於 VR 的事實。

先説下我自己的背景,我 2014 年 7 月加入 Oculus,當時 Oculus 剛以 23 億美金的價格被 Facebook 收購。我有幸參與了不少早期 VR 軟件的開發(Oculus Store, Oculus Video, Oculus Social),也目睹 Rift/Gear 從粗糙的開發者版本逐漸迭代為成熟的消費者版本。與此同時,整個 VR 產業在 Oculus 和其他廠商的推動下逐漸冒頭。在 Oculus,我有幸和 3D 引擎之父、天才程序員 John Carmack 一起工作。(關於 John Carmack 的故事,一天一夜都講不完,有興趣的朋友可以翻閲《Masters of Doom》)


Carmack 獲得 BAFTA 頒獎。45 歲的 Carmack,依然保持着驚人的編程效率。

不能被解決的眩暈?

回到美軍專家 Steve Blake 的那篇文章,他的核心觀點是説佩戴 VR 設備時的噁心眩暈問題(英文有很多種説法,包括 nausea, motion sickness, simulator sickness 等,以下簡稱 “眩暈” )無法解決。

首先,我們來看看到底是什麼原因導致了眩暈?

Oculus 的開發者博客上其實已經有一篇文章系統性地論述了這一問題(VR Sickness, The Rift, and How Game Developers Can Help)。這篇文章寫於 2013 年,作者是 Tom Forsyth, 一位深耕遊戲業 20 多年的老兵,曾在 Valve, Intel, RAD Game Tools 工作過。他描述了導致眩暈的一些原因。

其中,4 個導致眩暈的問題已經可以解決:

  • 錯誤的畸變校正(Distortion Correction):

為了增強用户的沉浸感,VR 設備會採用一組放大鏡片來擴大用户的 FOV(Field of View,視角),原理和廣角鏡頭是一樣的。但是,視角擴大的同時,圖像也會發生畸變。傳統的思路是從鏡片着手,採用昂貴的非球面鏡片來儘量減小圖像的畸變。而 Carmack 則逆勢思維,在圖像渲染時直接進行逆向畸變,然後通過透鏡來抵消這一畸變。這樣做的好處是顯而易見的,它減去了採用非球面鏡片所帶來的額外成本。而這樣做的挑戰在於--需要精確地計算逆向畸變的參數值。如果數值不準確,用户通過透鏡看到的圖像依舊會帶有畸變,從而產生眩暈。

幸運的是,主流廠商(Oculus, HTC, Google Cardboard, PSVR)都在它們提供的 SDK(Software Development Kit, 開發者工具包)裏幫開發者解決了這一底層技術難題。



經過逆向畸變渲染後的圖像

  • 錯誤的瞳孔距參數(IPD, Interpupillary Distance)

在模擬 3D 成像時,渲染在屏幕上的圖像會分為左右兩屏,分別模擬人的左右兩眼所看到的圖像。這兩個圖像基本相似,除了些微的差異(這點大家在上面的圖片中也可以看到)。差異的大小取決於人的瞳孔距,而不同人的瞳孔距是不同的。所以,在進行圖像渲染時,就需要考慮用户的實際瞳孔距。如果瞳孔距參數設置的不合適,用户就無法聚焦,從而產生眩暈感。

在之前的 DK2 開發者版本中,Oculus 提供了參數設置工具來讓用户提前設置自己的瞳孔距參數。而在最新的 Rift 消費者版本中,Oculus 更進一步,直接提供了一個硬件開關來動態調節瞳孔距參數。

  • 高延遲(Latency)

美軍專家 Steve 也在文章中提到了延遲問題。這裏的延遲,指的是用户產生輸入(如頭部轉動)到用户看到圖像變化之間的時間差,如果延遲足夠大,就會在用户所感知的行動和實際所見之間產生錯位,造成眩暈。Oculus 首席科學家 Michael Abrash 有一篇文章專門討論這個問題 (Latency – the sine qua non of AR and VR)。這篇文章寫於 2012 年底,對導致延遲的原因做了精確的闡述。以頭部轉動為例,從用户轉動頭部到實際看到眼前圖像變化,需要經歷 3 個環節:傳感器檢測到頭部轉動角的變化 ->CPU 計算出新的需要渲染的圖像 -> 屏幕更新圖像。每個環節都會產生延遲,當總延遲高於 15ms 時,就會產生較為明顯的眩暈。文章還指出了相應的解決方案--使用高刷新率的傳感器和 OLED 屏幕。

做為 Michael 20 年的老朋友,Carmack 通過工程努力以及推動 Oculus 與三星之間的合作,完美實現了這一方案。另外,Carmack 還在第 2 個環節做了進一步的優化,引入 ATW(Asynchronous Timewarp), 把延遲控制在了 15ms 以內。這裏面的精彩故事可以從 Carmack 在 Oculus Connect 上的演講中找到。

  • 不符合 VR 的產品設計準則

VR 應用的開發和傳統 3D 遊戲的開發有不少相似性,但因為 VR 提供了全新的交互方式,二者又有很多不同。

Valve 的 Joe Ludwig 專門寫過一篇文章來闡述 VR 應用開發和傳統 3D 遊戲開發的不同以及注意點(Lessons learned porting Team Fortress 2 to Virtual Reality)。

不過,正如美軍專家 Steve 所描述的,兩個原因導致的眩暈暫時還未被很好地解決:

  • 缺乏深度信息

正常人眼在觀看物體的時候,是有焦距的,不同焦距對應不同的視角,在視角內的圖像,會很清晰,而在視角外的,就會比較模糊。玩過單反的朋友應該對此有比較深刻的體會。

但是,目前的 VR 設備在進行圖像渲染時,並沒有考慮焦距,都是默認焦距為無限遠(既所有的物體都能清晰看到)。這個問題其實並不是非常嚴重,但是有少部分人會因為這一原因而導致眼疲勞,造成眩暈。


C 為真實人眼成像;D 為 VR 設備模擬成像。

  • 運動信息感知的錯位

這裏導致眩暈的原因其實和之前所述的延遲類似,即用户所感知的行動和實際所見產生了錯位,更深層次的原因是視覺神經和前庭刺激(vestibular stimuli)之間無法達成一致。

引用比如説,用户在 VR 世界裏玩跑酷遊戲,但是在現實世界中卻靜坐着。其實,現實生活中的一些眩暈,也是由這個原因導致的,比如説暈車暈船。

Tom Forsyth 的這篇文章寫於 2013 年 6 月。2016 年的當下,我們再回過頭去看, 上面所説的兩個無法解決的問題,都已經得到一定程度的解決。最新的 AR 設備,已經可以展示深度信息(參考矽谷小夥伴 Amber 的文章 《Magic Leap 和微軟的 Hololens 相比有哪些異同點?》,他詳細描述了 Lightfield Display 技術);而最新的 VR 設備,已經實現了位置追蹤(positional tracking),意味着用户在真實世界中的移動可以一對一的映射到虛擬世界中。而諸如 Virtuix Omni 這樣的硬件,也在嘗試解決如何在虛擬世界裏自由奔跑的問題。


傳説中的 Virtuix Omni。

另外,在產品設計層面,開發者們也有很多創新。Steve 所説的第一人稱模擬飛行是 VR 裏最容易導致眩暈的一類應用(視覺神經和前庭刺激有非常強烈的不一致),但是用户又偏偏非常喜歡這種類型的應用。於是,機智的開發者們通過各種產品設計層面的創新,來滿足用户的需求。無論是 GearVR 上的 Smash Hit, 還是即將上線 Oculus Rift 的 Eagle Flight, 都是其中的典範。

好了,講到這裏,相信大家對於美軍專家 Steve 的觀點,已經有了更全面的認識。Steve 的觀點,在 2016 年的今天,是很難站住腳的。

|Myth or Truth ?


美軍專家説得都對麼

另外,Steve 文中的一些論斷也有明顯的漏洞。

  • Myth 1

“每個人都覺得這些設備是嶄新且具有革命性的,但這不是真相。在這兩年發生的事情,僅僅是這些設備的價格從 8 萬美元跌到 5 百美元。我們並沒有做出太多技術上的創新”。

這個論據非常脆弱,位置追蹤和手勢追蹤(hand tracking),都是當代 VR 設備的核心技術,這些技術在 20 年前都是不存在的 (P.S., Steve 引用的論文竟然是來自於 1989 年 5 月)。

  • Myth 2

“目前大多數 Demo 都是宣傳性質的,在其他的行業展會上通常都是隻有幾分鐘長的 VR 內容。我不知道這些廠商是不是故意這樣做的……這也解釋了為什麼這麼多人認為他們喜歡 VR”。

早期的 demo 都只有幾分鐘長,是因為他們真的只是 “demo”。Oculus 即將上線的 30 多款應用,每一款都可以讓用户體驗好多個 “幾分鐘”。

  • Myth 3

“我們都是專家,知道自己在做什麼,但當你站在我們的實驗室裏舉目四望,會發現沒有一個人戴着 Oculus。僅在很少數的情況下,研究人員會戴上 VR,只是為了確認一些內容,然後在 30 秒內摘下來。大多數時候,我們都是在並排放置的兩個顯示器上觀察視覺效果。當項目最終完成時,因為再也不用帶這些頭盔了,我們所有人都很開心。”

工程師不在開發時佩戴 VR 設備,並不是不喜歡 VR,而是因為戴上後就沒辦法進行開發了。雖然 Unity/Unreal 都在嘗試 VR Editor(可以實現頭戴 VR 設備進行開發),但是目前階段效率最高的還是在 PC 上開發,然後必要時戴上 VR 設備檢查效果。另外,項目完成了,大家都很開心,難道不是因為項目完美收工麼?

在矽谷的各種 VR 展會上,經常能碰到一些十幾年前就心懷 VR 夢想的技術人員,他們對這個領域傾注的熱情,是常人難以想象的。正是這羣人十幾年的技術積累,使 VR 在今天有可能走進每個人的生活。


如圖。

文末,引用 Michael Abrash 在 Oculus Connect 上的一句話,和所有關注 VR 行業的同學共勉。

引用“VR is coming, but the path it takes depends on the actions of a few thousand key people, potentially including you. That may be hard to believe, but I’m completely serious.” “VR 時代正在來臨,這一段崎嶇的小路能否走通,靠的是幾千個關鍵人物的行動——這裏面很可能就包括你。這也許讓人難以置信,然而我完全堅定。”

雷鋒網(搜索“雷鋒網”公眾號關注)注:作者胡韜,郵箱taohu.usc@Gmail.com。本文首發峰瑞資官方微信公眾賬號(ID:freesvc),轉載請聯繫授權並保存完整信息,不得刪減、修改文章。


資料來源:雷鋒網
作者/編輯:小芹菜

如果喜歡我們的文章,請即分享到︰

標籤: Oculus