在手機上運行VR內(nèi)容是一個技術挑戰(zhàn)扛伍。電腦端的VR解決方案包括Oculus和Vive,都建議使用英特爾酷睿i5 CPU和GTX 970作為最低配置词裤。然而刺洒,手機缺乏這些高端臺式電腦的配置,只能在移動SOC芯片運行VR內(nèi)容吼砂,并同時處理運動追蹤系統(tǒng)逆航。
雖然谷歌新推出的“Daydream VR”還沒有公布具體的規(guī)格,但幾乎可以肯定渔肩,它只適用于最新的高端手機因俐。而谷歌此前推出的紙質(zhì)VR頭顯Cardboard也不能像其宣稱的那樣,為所有人提供VR周偎。那么抹剩,在一部iPhone5或者Galaxy S3上如何獲得身臨其境的VR體驗呢?
先來看看都有哪些需要克服的問題吧蓉坎。要打造良好的VR體驗澳眷,至少需要60幀每秒的播放速度(普遍播放速度要求為90幀每秒,索尼的PSVR甚至達到120幀每秒)蛉艾。如果達不到這個速度钳踊,用戶就會意識到運動控制和頭部追蹤的滯后,甚至對某些人而言勿侯,還會造成暈眩癥等不適感拓瞪。
另外,VR觀看方式有一個特性助琐。VR系統(tǒng)為每一只眼睛單獨渲染不同的圖像祭埂,這些圖像略似矩形,再憑借鏡片和我們的感知創(chuàng)造出帶有景深的寬場景幻象兵钮。雖然好的鏡頭可以保證圖像的質(zhì)量沟堡,但不管質(zhì)量多好,還是會出現(xiàn)圖像扭曲變形的失真情況矢空。
普遍的解決方法是通過渲染技術,對失真的圖像進行逆向調(diào)整禀横,再將調(diào)整后的圖像傳到屏幕緩沖區(qū)屁药,輸出到顯示屏上。經(jīng)過這一輪調(diào)整后柏锄,我們在顯示器看到的圖像就是正常的效果了酿箭。
總之复亏,失真圖像進行逆向調(diào)整后就能得到不失真的圖像。
在攝影術語中缭嫡,這些叫做“桶形畸變”和“枕形畸變”缔御。頭顯的鏡片普遍會造成枕形畸變,引起圖像向中間“收縮”妇蛀,調(diào)整的方式是進行“桶形”調(diào)整耕突,在曲面拉伸圖像。
然而评架,要對所有圖像像素進行調(diào)整眷茁,抵消鏡頭的失真效果,會給每一幀增加非常多的處理任務纵诞,同時也增加了手機創(chuàng)建幀的工作量上祈,同時還會降低有效的分辨率,因為圖像中心區(qū)域被向外拉伸了浙芙,覆蓋了很多像素登刺,類似于放大后分辨率降低的圖片。拉伸擴展后嗡呼,過多的細節(jié)擠壓在每一幀的邊緣纸俭,還把CPU處理時間浪費在了用戶不太可能看的細節(jié)上。
一百萬個小碎片:頂點位移與曲面細分
對此有一個工作室想到了一種創(chuàng)新性的解決方法晤锥。Brian Kehrer是一名游戲設計師掉蔬,曾與ustwo合作(《紀念碑谷》的開發(fā)者)一起創(chuàng)作了一款極地荒野VR游戲《北極之旅》,目前已經(jīng)被谷歌Cardboard收錄為內(nèi)置游戲矾瘾。為了提升移動VR體驗的適用性女轿,Kehrer的團隊希望能在2012年發(fā)布的Galaxy S3手機上以60幀每秒的速度穩(wěn)定地運行VR應用。
該團隊的初步測試表示壕翩,以前的手機不可以在渲染圖像蛉迹,調(diào)整失真的同時還保證60幀每秒的穩(wěn)定輸出。所以Kehrer和他的團隊想到了一個新方法:與其渲染游戲后再調(diào)整放妈,不如先調(diào)整整個游戲北救? 他們采取的做法是頂點位移,從字面上理解就是移動圖像的頂點來調(diào)整失真芜抒。 這意味著場景通過相應的渲染珍策,就能直接被傳送到屏幕上,省略了中間步驟宅倒。
如果你還記得計算機圖形是多邊形的集合攘宙,那就能很好的理解這種做法了。 頂點位移不會改變線條; 兩個頂點之間的點始終保持筆直。 然而蹭劈,通過移動頂點疗绣,就可以實現(xiàn)場景失真調(diào)整,一次性呈現(xiàn)最終圖像铺韧。
不過多矮,該方案還面臨一項挑戰(zhàn):低多邊形對象(例如,正方形)不適用于頂點位移哈打。 為了調(diào)整失真塔逃,正方形的輪廓需要彎曲成弧線。 Kehrer表示前酿,曲面鏡頭會使曲線看起來像直線患雏。 如果不這么調(diào)整,鏡頭里的正方形看起來就像向內(nèi)塌陷了罢维。 然而淹仑,由于頂點位移并不調(diào)整線條,它不能糾正像正方形一樣的簡單對象肺孵。 而大多數(shù)用戶界面元素融入了許多簡單的多邊形匀借,如正方形和長方形,這成為了一個大難題平窘。
最終這個難題的解決方案叫做曲面細分吓肋,通常用于渲染復雜的幾何形狀。曲面細分是指瑰艘,通過重復地聯(lián)鎖簡單的形狀是鬼,從而形成一個復雜對象的過程。 通常是把大的多邊形分解成數(shù)十個或數(shù)百個小型的三角形紫新,再以簡單的形狀形成更復雜的紋理和表面均蜜。 你可以根據(jù)處理能力的多少決定增加或減少三角形的數(shù)量。
結(jié)合頂點位移芒率,這意味著要細分簡單的多邊形囤耳,如正方形,可以形成上百個較小的正方形偶芍,每個正方形由兩個相連的三角形組成充择。而渲染這些頂點并不會為CPU增加大量的負擔。
Kehrer說匪蟀,大多數(shù)的移動設備可以渲染100,000至400,000頂點椎麦,所以把4個頂點的正方形變成121個頂點的對象不會產(chǎn)生帶來很大的負擔(把一個正方形分裂成理論上的10x10網(wǎng)格所配對三角形需要121頂點)。最后通過移動這些三角形的角材彪,形成調(diào)整失真所需的彎曲邊緣即可观挎。
此外撒桨,這種方法還有一個優(yōu)勢:圖像省去了渲染再拉伸的步驟。實際操作只是通過適當比例來渲染键兜,因此沒有丟失每一幀中間區(qū)域的細節(jié),改善了分辨率穗泵。
這種技術使得《北極之旅 》創(chuàng)造了技術奇跡普气,只是該技術可能難以得到廣泛應用。因為據(jù)了解佃延,谷歌新推出的VR平臺Daydream 现诀,似乎不支持頂點位移功能,而Oculus和Vive則需要額外配備一個名為Timewarp的處理器裝置履肃。
Kehrer在博客中提出一個嚴肅的問題:如果他的團隊可以在Galaxy S3運行VR游戲仔沿,那么為什么Oculus和Vive還需要不斷研發(fā)更強大的硬件呢?我們將會繼續(xù)深入研究尺棋。
聯(lián)系方式:0755-81699111
課程網(wǎng)址: http://www.vrkuo.com/course/vr.html