Google Cardboard 虛擬現實眼鏡開發初步(一)

Google Cardboard 虛擬現實眼鏡開發初步(一)

虛擬現實技術簡介


轉自:http://www.bkjia.com/Androidjc/1041792.html 

不得不說這幾年虛擬現實技術逐漸火熱,伴隨着虛擬現實設備的價格迅速平民化,越來越多的虛擬現實設備來到了我們眼前,也因此虛擬現實方面的開發離我們也越來越近。

這幾年迅速崛起的Oculus,其成功就在於拉近了虛擬現實與羣衆的距離,把原本價格高不可攀的虛擬現實設備放到了我們可以觸手可及的位置,Oculus的技術開闢了全新的體驗和可能性,不僅僅在遊戲領域,還在生活、教育、醫療等諸多領域擁有廣闊的想象空間,Facebook在2014年7月宣佈以20億美元的價格收購Oculus。

據說Oculus的逼真程度是非常之高的,和國內目前比較容易接觸到的魔鏡一類效果差距是很大的,Oculus 官方宣稱他具有110 度的視角,並且帶有頭部姿態傳感器,Oculus通過不斷地優化大大降低了頭痛、噁心感,並且利用全位置跟蹤功能和高分辨率的顯示屏,提供了更加逼真的感受。

Oculus Rift一些早期版本導致使用者出現噁心或神志不清的狀況,但最新的“Crescent Bay”推出之後,這種情況很少出現了。

造成頭痛、噁心感的主要原因是延遲。Oculus團隊內部有一個詞叫Motion-to-photons latency,意思是指從玩家運動頭部到在屏幕上看到新圖像爲止的一個週期裏所產生的延遲時長總和,Oculus的任務就是儘可能地削減整個流程產生的延遲時長,來消除噁心感。

最近PewDiePie首次將Oculus Rift頭戴式顯示器和能夠在3D空間內感知手勢動作的Leap Motion體感控制器組合在一起,實現了當用戶移動頭部並完全沉浸在3D虛擬環境中時能夠看見自己的雙手。

這裏寫圖片描述

這裏寫圖片描述

所以不得不說Oculus是一款很酷的產品。

除了Oculus外,其他很多虛擬現實設備也在發展當中,如:

  • HTC的Vive VR

  • 三星的Gear VR,Gear VR的硬件製造者是三星,但其虛擬技術的提供者是Oculus。 
    Gear VR能夠提供完全虛擬現實的體驗。但它使用三星智能手機代替計算機來驅動顯示器。

還有增強現實領域的微軟的HoloLens,整體表現令人驚豔。

這裏寫圖片描述

最後介紹Google Cardboard,我們的虛擬現實眼鏡開發入門教程便是基於Cardboard SDK for Unity

於北京時間2015年5月29日凌晨0:30在美國舊金山舉辦的2015谷歌I/O開發者大會上,素來以慷慨著稱的谷歌並沒有像以往那樣大派禮物,除了三星或者LG智能手錶的二選一外,開發者還可以領到一個小小的黃色紙板盒Cardboard。不過,這個看起來非常寒磣的再生紙板盒卻是I/O大會上最令人驚喜的產品,這就是谷歌推出的廉價3D眼鏡。

這裏寫圖片描述

這裏寫圖片描述

Cardboard簡介

Cardboard最初是谷歌法國巴黎部門的兩位工程師大衛·科茲(David Coz)和達米安·亨利(Damien Henry)的創意。他們利用谷歌“20%時間”規定,花了6個月的時間,打造出來這個實驗項目,意在將智能手機變成一個虛擬現實的原型設備。

Cardboard紙盒內包括了紙板、雙凸透鏡、磁石、魔力貼、橡皮筋以及NFC貼等部件。按照紙盒上面的說明,幾分鐘內就組裝出一個看起來非常簡陋的玩具眼鏡。凸透鏡的前部留了一個放手機的空間,而半圓形的凹槽正好可以把臉和鼻子埋進去。

Cardboard只是一副簡單的3D眼鏡,但這個眼鏡加上智能手機就可以組成一個虛擬現實(VR)設備。

要使用Cardboard,用戶還需要在Google Play官網上搜索Cardboard應用。它可以將手機裏的內容進行分屏顯示,兩隻眼睛看到的內容有視差,從而產生立體效果。通過使用手機攝像頭和內置的螺旋儀,在移動頭部時能讓眼前顯示的內容也會產生相應變化。應用程序可以讓用戶在虛擬現實的情景下觀看YouTube、谷歌街景或谷歌地球。

Cardboard原理

CardBoard的虛擬現實效果是由一款CardBoard與一部安卓手機結合而成,眼鏡鏡體通過透鏡加屏幕的原理,將虛像呈現在人的明視距離處實現了沉浸式的虛擬現實感,目前國內虛擬現實眼鏡(如暴風魔鏡等)大都是這個原理,只不過做了細緻的包裝,使得佩戴更加舒適,下面爲其原理圖:

這裏寫圖片描述

而屏幕即爲一部安卓系統的手機,手機的分辨率與像素密度越大顯示效果越好,由於採用了透鏡放大與分屏顯示的原理,如果分辨率較低,顆粒感會比較嚴重。

手機屏幕上需要分屏顯示虛擬環境,開發者還需要調用手機內部陀螺儀等傳感器進行視角轉變。這一部分的開發無疑有很多選擇,使用純Android的SurfaceView與openGL ES 開發可擴展性很強,但是相應的複雜度比較高,導入3D模型等都需要手寫代碼亦或者使用3D引擎如Unity3D等進行開發,適合開發遊戲,複雜性較低,模擬左右雙眼只需要兩個攝像機就可以搞定,但是開發複雜應用又會力不從心。總之在開發前要根據項目進行選擇開發的方式。

由於Unity引擎功能強大,基本上能適應大部分需求,而且開發便利,資料很全,最關鍵的是Google提供了一個Cardboard SDK for Unity,可以很方便的進入虛擬現實的世界,所以我們毫無疑問要站在巨人的肩膀上開始旅行了。

本篇作爲系列的開篇,主要是講了一些虛擬現實的技術和原理,下一篇就會帶領大家去看一看谷歌的Cardboard SDK for Unity,之後還會教大家非常簡單的做出自己的第一個CardBoard應用,大家從淘寶上花不到10塊錢買一個Cardboard或者買個暴風魔鏡就可以測試自己的虛擬現實應用了,敬請期待


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章