在手機上運行VR內容是一個技術挑戰。電腦端的VR解決方案包括Oculus和Vive,都建議使用英特爾酷睿i5 CPU和GTX 970作為最低配置。然而,手機缺乏這些高端臺式電腦的配置,只能在移動SOC芯片運行VR內容,并同時處理運動追蹤系統。
雖然谷歌新推出的“Daydream VR”還沒有公布具體的規格,但幾乎可以肯定,它只適用于最新的高端手機。而谷歌此前推出的紙質VR頭顯Cardboard也不能像其宣稱的那樣,為所有人提供VR。那么,在一部iPhone5或者Galaxy S3上如何獲得身臨其境的VR體驗呢?
先來看看都有哪些需要克服的問題吧。要打造良好的VR體驗,至少需要60幀每秒的播放速度(普遍播放速度要求為90幀每秒,索尼的PSVR甚至達到120幀每秒)。如果達不到這個速度,用戶就會意識到運動控制和頭部追蹤的滯后,甚至對某些人而言,還會造成暈眩癥等不適感。
另外,VR觀看方式有一個特性。VR系統為每一只眼睛單獨渲染不同的圖像,這些圖像略似矩形,再憑借鏡片和我們的感知創造出帶有景深的寬場景幻象。雖然好的鏡頭可以保證圖像的質量,但不管質量多好,還是會出現圖像扭曲變形的失真情況。
普遍的解決方法是通過渲染技術,對失真的圖像進行逆向調整,再將調整后的圖像傳到屏幕緩沖區,輸出到顯示屏上。經過這一輪調整后,我們在顯示器看到的圖像就是正常的效果了。
總之,失真圖像進行逆向調整后就能得到不失真的圖像。
在攝影術語中,這些叫做“桶形畸變”和“枕形畸變”。頭顯的鏡片普遍會造成枕形畸變,引起圖像向中間“收縮”,調整的方式是進行“桶形”調整,在曲面拉伸圖像。
然而,要對所有圖像像素進行調整,抵消鏡頭的失真效果,會給每一幀增加非常多的處理任務,同時也增加了手機創建幀的工作量,同時還會降低有效的分辨率,因為圖像中心區域被向外拉伸了,覆蓋了很多像素,類似于放大后分辨率降低的圖片。拉伸擴展后,過多的細節擠壓在每一幀的邊緣,還把CPU處理時間浪費在了用戶不太可能看的細節上。
一百萬個小碎片:頂點位移與曲面細分
對此有一個工作室想到了一種創新性的解決方法。Brian Kehrer是一名游戲設計師,曾與ustwo合作(《紀念碑谷》的開發者)一起創作了一款極地荒野VR游戲《北極之旅》,目前已經被谷歌Cardboard收錄為內置游戲。為了提升移動VR體驗的適用性,Kehrer的團隊希望能在2012年發布的Galaxy S3手機上以60幀每秒的速度穩定地運行VR應用。
該團隊的初步測試表示,以前的手機不可以在渲染圖像,調整失真的同時還保證60幀每秒的穩定輸出。所以Kehrer和他的團隊想到了一個新方法:與其渲染游戲后再調整,不如先調整整個游戲? 他們采取的做法是頂點位移,從字面上理解就是移動圖像的頂點來調整失真。 這意味著場景通過相應的渲染,就能直接被傳送到屏幕上,省略了中間步驟。
如果你還記得計算機圖形是多邊形的集合,那就能很好的理解這種做法了。 頂點位移不會改變線條; 兩個頂點之間的點始終保持筆直。 然而,通過移動頂點,就可以實現場景失真調整,一次性呈現最終圖像。
不過,該方案還面臨一項挑戰:低多邊形對象(例如,正方形)不適用于頂點位移。 為了調整失真,正方形的輪廓需要彎曲成弧線。 Kehrer表示,曲面鏡頭會使曲線看起來像直線。 如果不這么調整,鏡頭里的正方形看起來就像向內塌陷了。 然而,由于頂點位移并不調整線條,它不能糾正像正方形一樣的簡單對象。 而大多數用戶界面元素融入了許多簡單的多邊形,如正方形和長方形,這成為了一個大難題。
最終這個難題的解決方案叫做曲面細分,通常用于渲染復雜的幾何形狀。曲面細分是指,通過重復地聯鎖簡單的形狀,從而形成一個復雜對象的過程。 通常是把大的多邊形分解成數十個或數百個小型的三角形,再以簡單的形狀形成更復雜的紋理和表面。 你可以根據處理能力的多少決定增加或減少三角形的數量。
結合頂點位移,這意味著要細分簡單的多邊形,如正方形,可以形成上百個較小的正方形,每個正方形由兩個相連的三角形組成。而渲染這些頂點并不會為CPU增加大量的負擔。
Kehrer說,大多數的移動設備可以渲染100,000至400,000頂點,所以把4個頂點的正方形變成121個頂點的對象不會產生帶來很大的負擔(把一個正方形分裂成理論上的10x10網格所配對三角形需要121頂點)。最后通過移動這些三角形的角,形成調整失真所需的彎曲邊緣即可。
此外,這種方法還有一個優勢:圖像省去了渲染再拉伸的步驟。實際操作只是通過適當比例來渲染,因此沒有丟失每一幀中間區域的細節,改善了分辨率。
這種技術使得《北極之旅 》創造了技術奇跡,只是該技術可能難以得到廣泛應用。因為據了解,谷歌新推出的VR平臺Daydream ,似乎不支持頂點位移功能,而Oculus和Vive則需要額外配備一個名為Timewarp的處理器裝置。
Kehrer在博客中提出一個嚴肅的問題:如果他的團隊可以在Galaxy S3運行VR游戲,那么為什么Oculus和Vive還需要不斷研發更強大的硬件呢?我們將會繼續深入研究。
聯系方式:0755-81699111
課程網址: http://www.vrkuo.com/course/vr.html