4
雷鋒網(wǎng)按:本文作者胡韜,畢業(yè)于南加州大學(xué),Oculus 第二位華人工程師。胡韜曾參與 Oculus 多個 VR 軟件項目的開發(fā)(Oculus Store, Oculus Video, Oculus Social),目睹 Rift/Gear 從粗糙的開發(fā)者版本逐漸迭代為成熟的消費者版本,并經(jīng)歷了整個 VR 產(chǎn)業(yè)鏈的崛起和逐漸完善。雷鋒網(wǎng)已獲授權(quán)。
Oculus Rift 上最出眾的游戲之一《無處可逃》。
這幾天被一篇名為《美軍專家表示 VR 可能永遠不會成功》的文章刷屏了,好多朋友過來問我 VR 是不是偽需求,VR 行業(yè)能走多遠。我想基于我在 VR 行業(yè)的積累,分享些關(guān)于 VR 的事實。
先說下我自己的背景,我 2014 年 7 月加入 Oculus,當(dāng)時 Oculus 剛以 23 億美金的價格被 Facebook 收購。我有幸參與了不少早期 VR 軟件的開發(fā)(Oculus Store, Oculus Video, Oculus Social),也目睹 Rift/Gear 從粗糙的開發(fā)者版本逐漸迭代為成熟的消費者版本。與此同時,整個 VR 產(chǎn)業(yè)在 Oculus 和其他廠商的推動下逐漸冒頭。在 Oculus,我有幸和 3D 引擎之父、天才程序員 John Carmack 一起工作。(關(guān)于 John Carmack 的故事,一天一夜都講不完,有興趣的朋友可以翻閱《Masters of Doom》)
Carmack 獲得 BAFTA 頒獎。45 歲的 Carmack,依然保持著驚人的編程效率。
回到美軍專家 Steve Blake 的那篇文章,他的核心觀點是說佩戴 VR 設(shè)備時的惡心眩暈問題(英文有很多種說法,包括 nausea, motion sickness, simulator sickness 等,以下簡稱 “眩暈” )無法解決。
首先,我們來看看到底是什么原因?qū)е铝搜灒?/p>
Oculus 的開發(fā)者博客上其實已經(jīng)有一篇文章系統(tǒng)性地論述了這一問題(VR Sickness, The Rift, and How Game Developers Can Help)。這篇文章寫于 2013 年,作者是 Tom Forsyth, 一位深耕游戲業(yè) 20 多年的老兵,曾在 Valve, Intel, RAD Game Tools 工作過。他描述了導(dǎo)致眩暈的一些原因。
其中,4 個導(dǎo)致眩暈的問題已經(jīng)可以解決:
錯誤的畸變校正(Distortion Correction):
為了增強用戶的沉浸感,VR 設(shè)備會采用一組放大鏡片來擴大用戶的 FOV(Field of View,視角),原理和廣角鏡頭是一樣的。但是,視角擴大的同時,圖像也會發(fā)生畸變。傳統(tǒng)的思路是從鏡片著手,采用昂貴的非球面鏡片來盡量減小圖像的畸變。而 Carmack 則逆勢思維,在圖像渲染時直接進行逆向畸變,然后通過透鏡來抵消這一畸變。這樣做的好處是顯而易見的,它減去了采用非球面鏡片所帶來的額外成本。而這樣做的挑戰(zhàn)在于--需要精確地計算逆向畸變的參數(shù)值。如果數(shù)值不準(zhǔn)確,用戶通過透鏡看到的圖像依舊會帶有畸變,從而產(chǎn)生眩暈。
幸運的是,主流廠商(Oculus, HTC, Google Cardboard, PSVR)都在它們提供的 SDK(Software Development Kit, 開發(fā)者工具包)里幫開發(fā)者解決了這一底層技術(shù)難題。
經(jīng)過逆向畸變渲染后的圖像
錯誤的瞳孔距參數(shù)(IPD, Interpupillary Distance)
在模擬 3D 成像時,渲染在屏幕上的圖像會分為左右兩屏,分別模擬人的左右兩眼所看到的圖像。這兩個圖像基本相似,除了些微的差異(這點大家在上面的圖片中也可以看到)。差異的大小取決于人的瞳孔距,而不同人的瞳孔距是不同的。所以,在進行圖像渲染時,就需要考慮用戶的實際瞳孔距。如果瞳孔距參數(shù)設(shè)置的不合適,用戶就無法聚焦,從而產(chǎn)生眩暈感。
在之前的 DK2 開發(fā)者版本中,Oculus 提供了參數(shù)設(shè)置工具來讓用戶提前設(shè)置自己的瞳孔距參數(shù)。而在最新的 Rift 消費者版本中,Oculus 更進一步,直接提供了一個硬件開關(guān)來動態(tài)調(diào)節(jié)瞳孔距參數(shù)。
高延遲(Latency)
美軍專家 Steve 也在文章中提到了延遲問題。這里的延遲,指的是用戶產(chǎn)生輸入(如頭部轉(zhuǎn)動)到用戶看到圖像變化之間的時間差,如果延遲足夠大,就會在用戶所感知的行動和實際所見之間產(chǎn)生錯位,造成眩暈。Oculus 首席科學(xué)家 Michael Abrash 有一篇文章專門討論這個問題 (Latency – the sine qua non of AR and VR)。這篇文章寫于 2012 年底,對導(dǎo)致延遲的原因做了精確的闡述。以頭部轉(zhuǎn)動為例,從用戶轉(zhuǎn)動頭部到實際看到眼前圖像變化,需要經(jīng)歷 3 個環(huán)節(jié):傳感器檢測到頭部轉(zhuǎn)動角的變化 ->CPU 計算出新的需要渲染的圖像 -> 屏幕更新圖像。每個環(huán)節(jié)都會產(chǎn)生延遲,當(dāng)總延遲高于 15ms 時,就會產(chǎn)生較為明顯的眩暈。文章還指出了相應(yīng)的解決方案--使用高刷新率的傳感器和 OLED 屏幕。
做為 Michael 20 年的老朋友,Carmack 通過工程努力以及推動 Oculus 與三星之間的合作,完美實現(xiàn)了這一方案。另外,Carmack 還在第 2 個環(huán)節(jié)做了進一步的優(yōu)化,引入 ATW(Asynchronous Timewarp), 把延遲控制在了 15ms 以內(nèi)。這里面的精彩故事可以從 Carmack 在 Oculus Connect 上的演講中找到。
不符合 VR 的產(chǎn)品設(shè)計準(zhǔn)則
VR 應(yīng)用的開發(fā)和傳統(tǒng) 3D 游戲的開發(fā)有不少相似性,但因為 VR 提供了全新的交互方式,二者又有很多不同。
Valve 的 Joe Ludwig 專門寫過一篇文章來闡述 VR 應(yīng)用開發(fā)和傳統(tǒng) 3D 游戲開發(fā)的不同以及注意點(Lessons learned porting Team Fortress 2 to Virtual Reality)。
不過,正如美軍專家 Steve 所描述的,兩個原因?qū)е碌难灂簳r還未被很好地解決:
缺乏深度信息
正常人眼在觀看物體的時候,是有焦距的,不同焦距對應(yīng)不同的視角,在視角內(nèi)的圖像,會很清晰,而在視角外的,就會比較模糊。玩過單反的朋友應(yīng)該對此有比較深刻的體會。
但是,目前的 VR 設(shè)備在進行圖像渲染時,并沒有考慮焦距,都是默認(rèn)焦距為無限遠(既所有的物體都能清晰看到)。這個問題其實并不是非常嚴(yán)重,但是有少部分人會因為這一原因而導(dǎo)致眼疲勞,造成眩暈。
C 為真實人眼成像;D 為 VR 設(shè)備模擬成像。
運動信息感知的錯位
這里導(dǎo)致眩暈的原因其實和之前所述的延遲類似,即用戶所感知的行動和實際所見產(chǎn)生了錯位,更深層次的原因是視覺神經(jīng)和前庭刺激(vestibular stimuli)之間無法達成一致。
比如說,用戶在 VR 世界里玩跑酷游戲,但是在現(xiàn)實世界中卻靜坐著。其實,現(xiàn)實生活中的一些眩暈,也是由這個原因?qū)е碌?,比如說暈車暈船。
Tom Forsyth 的這篇文章寫于 2013 年 6 月。2016 年的當(dāng)下,我們再回過頭去看, 上面所說的兩個無法解決的問題,都已經(jīng)得到一定程度的解決。最新的 AR 設(shè)備,已經(jīng)可以展示深度信息(參考硅谷小伙伴 Amber 的文章 《Magic Leap 和微軟的 Hololens 相比有哪些異同點?》,他詳細(xì)描述了 Lightfield Display 技術(shù));而最新的 VR 設(shè)備,已經(jīng)實現(xiàn)了位置追蹤(positional tracking),意味著用戶在真實世界中的移動可以一對一的映射到虛擬世界中。而諸如 Virtuix Omni 這樣的硬件,也在嘗試解決如何在虛擬世界里自由奔跑的問題。
傳說中的 Virtuix Omni。
另外,在產(chǎn)品設(shè)計層面,開發(fā)者們也有很多創(chuàng)新。Steve 所說的第一人稱模擬飛行是 VR 里最容易導(dǎo)致眩暈的一類應(yīng)用(視覺神經(jīng)和前庭刺激有非常強烈的不一致),但是用戶又偏偏非常喜歡這種類型的應(yīng)用。于是,機智的開發(fā)者們通過各種產(chǎn)品設(shè)計層面的創(chuàng)新,來滿足用戶的需求。無論是 GearVR 上的 Smash Hit, 還是即將上線 Oculus Rift 的 Eagle Flight, 都是其中的典范。
好了,講到這里,相信大家對于美軍專家 Steve 的觀點,已經(jīng)有了更全面的認(rèn)識。Steve 的觀點,在 2016 年的今天,是很難站住腳的。
美軍專家說得都對么
另外,Steve 文中的一些論斷也有明顯的漏洞。
Myth 1
“每個人都覺得這些設(shè)備是嶄新且具有革命性的,但這不是真相。在這兩年發(fā)生的事情,僅僅是這些設(shè)備的價格從 8 萬美元跌到 5 百美元。我們并沒有做出太多技術(shù)上的創(chuàng)新”。
這個論據(jù)非常脆弱,位置追蹤和手勢追蹤(hand tracking),都是當(dāng)代 VR 設(shè)備的核心技術(shù),這些技術(shù)在 20 年前都是不存在的 (P.S., Steve 引用的論文竟然是來自于 1989 年 5 月)。
Myth 2
“目前大多數(shù) Demo 都是宣傳性質(zhì)的,在其他的行業(yè)展會上通常都是只有幾分鐘長的 VR 內(nèi)容。我不知道這些廠商是不是故意這樣做的……這也解釋了為什么這么多人認(rèn)為他們喜歡 VR”。
早期的 demo 都只有幾分鐘長,是因為他們真的只是 “demo”。Oculus 即將上線的 30 多款應(yīng)用,每一款都可以讓用戶體驗好多個 “幾分鐘”。
Myth 3
“我們都是專家,知道自己在做什么,但當(dāng)你站在我們的實驗室里舉目四望,會發(fā)現(xiàn)沒有一個人戴著 Oculus。僅在很少數(shù)的情況下,研究人員會戴上 VR,只是為了確認(rèn)一些內(nèi)容,然后在 30 秒內(nèi)摘下來。大多數(shù)時候,我們都是在并排放置的兩個顯示器上觀察視覺效果。當(dāng)項目最終完成時,因為再也不用帶這些頭盔了,我們所有人都很開心。”
工程師不在開發(fā)時佩戴 VR 設(shè)備,并不是不喜歡 VR,而是因為戴上后就沒辦法進行開發(fā)了。雖然 Unity/Unreal 都在嘗試 VR Editor(可以實現(xiàn)頭戴 VR 設(shè)備進行開發(fā)),但是目前階段效率最高的還是在 PC 上開發(fā),然后必要時戴上 VR 設(shè)備檢查效果。另外,項目完成了,大家都很開心,難道不是因為項目完美收工么?
在硅谷的各種 VR 展會上,經(jīng)常能碰到一些十幾年前就心懷 VR 夢想的技術(shù)人員,他們對這個領(lǐng)域傾注的熱情,是常人難以想象的。正是這群人十幾年的技術(shù)積累,使 VR 在今天有可能走進每個人的生活。
如圖。
文末,引用 Michael Abrash 在 Oculus Connect 上的一句話,和所有關(guān)注 VR 行業(yè)的同學(xué)共勉。
“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 時代正在來臨,這一段崎嶇的小路能否走通,靠的是幾千個關(guān)鍵人物的行動——這里面很可能就包括你。這也許讓人難以置信,然而我完全堅定?!?/p>
雷鋒網(wǎng)注:作者胡韜,郵箱taohu.usc@gmail.com。本文首發(fā)峰瑞資官方微信公眾賬號(ID:freesvc),轉(zhuǎn)載請聯(lián)系授權(quán)并保存完整信息,不得刪減、修改文章。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。