隨著 ASUS 在 CES2017 上宣布了全球第一款同時(shí)具有 Tango 和 Daydream 兩種能力的 ZenFone AR,終于使得 AR/VR/MR 這些近來(lái)全球開(kāi)發(fā)圈內(nèi)超級(jí)熱門(mén)的詞匯可以讓我們國(guó)內(nèi)的 Android 開(kāi)發(fā)者直接利用手中的 Android Studio 和方便入手的 Android 設(shè)備來(lái)進(jìn)行虛擬開(kāi)發(fā)的探索了!
1. 三種交互
1)AR
增強(qiáng)現(xiàn)實(shí),人眼接受到的光線包括了現(xiàn)實(shí)的光和 AR 設(shè)備屏幕發(fā)出的光,通過(guò)人眼的處理能力進(jìn)行合成,增強(qiáng)現(xiàn)實(shí)感。
Phab 2 Pro 就是一款 AR 設(shè)備,可以拍攝可愛(ài)的小貓或小狗跟小寶寶一起玩的照片而不用擔(dān)心安全,因?yàn)樾?dòng)物都是虛擬的。
2)VR
虛擬現(xiàn)在,使用頭盔或 Cardboard 完全遮擋住現(xiàn)實(shí)的光線,人眼只接受 VR 設(shè)備發(fā)出的光,跟現(xiàn)實(shí)完全隔離。
Oculus Rift, PlayStation VR, Samsung Gear VR 以及 HTC Vive 都屬于此類(lèi)設(shè)備。
3)MR
混合現(xiàn)實(shí),MR 設(shè)備自身具有三維坐標(biāo)感知能力,隨著人的移動(dòng),虛擬物體的顯示也隨著變化。
Hololens 屬于 MR 設(shè)備。
2. 兩大技術(shù)
1)Tango (屠龍)
正如 2000 年時(shí) Sumsung 在 SCH-V200 手機(jī)上上添加了攝像頭,手機(jī)開(kāi)始了睜眼看世界的能力,現(xiàn)在 Tango 攝像頭為手機(jī)添加了真實(shí)三維世界的感知能力。
簡(jiǎn)單的講,Tango 具有以下三大功能:
Motion tracking: 我在哪里,空間位置
Area learning: 前邊有什么,看到什么
Depth perception: 前邊有多遠(yuǎn)
不論是使用 ToF (Time of Flight),通過(guò)傳感器發(fā)出經(jīng)調(diào)制的近紅外光,遇物體后反射,傳感器通過(guò)計(jì)算光線發(fā)射和反射時(shí)間差或相位差,來(lái)?yè)Q算被拍攝景物的距離,以產(chǎn)生深度信息。
還是結(jié)構(gòu)光計(jì)算,通過(guò)向檢測(cè)空間內(nèi)投射經(jīng)過(guò)編碼的激光光斑陣列,對(duì)空間進(jìn)行標(biāo)定并輔助計(jì)算三維空間位置。
所得到的如下圖中的 cloud point 數(shù)據(jù),可以看到此時(shí)共采集到了 12464 個(gè)帶有 XYZ 三維坐標(biāo)的點(diǎn)。
2)Daydream (倚天)
目的是要讓用戶(hù)得到最好的虛擬體驗(yàn),通過(guò)定義了一組最低的硬件運(yùn)行效果標(biāo)準(zhǔn)以及為開(kāi)發(fā)者提供易用的 Daydream API,消除了導(dǎo)致用戶(hù)眩暈的畫(huà)面延遲,做到最高性?xún)r(jià)比的虛擬體驗(yàn)。
3. 硬件
1)Phab 2 Pro
全球第一款消費(fèi)級(jí)的 Tango 設(shè)備,使用驍龍 652,4G 內(nèi)存和 64G 存儲(chǔ),重要的是國(guó)內(nèi)版本和國(guó)外版本都具有完整的 Tango 功能。
Android 感知三維世界的 ”眼睛”– Tango 組件:
典型的應(yīng)用嘲:
2)ZenFone AR
全球第一款消費(fèi)級(jí)的 Tango+Daydream 設(shè)備,使用驍龍 821 來(lái)保證用戶(hù)得到 Daydream 體驗(yàn),第一款 Daydream 手機(jī) Google Pixel 和 Asus Zenphone 3 也使用的是驍龍 821。由于 Daydream Viewer 現(xiàn)在兼容的手機(jī)尺寸是 5.0 到 5.7 寸屏,那么 ZenFone AR 搭配 Android 7 (Nougat) 的 5.7 寸屏用起來(lái)應(yīng)當(dāng)是相當(dāng)順手的。
4. Tango開(kāi)發(fā)
首先,你需要一款 Tango 設(shè)備,因?yàn)檫沒(méi)有可以模擬 Tango 相關(guān)攝像頭硬件的模擬器,上節(jié)中 Phab 2 Pro 是很不錯(cuò)的開(kāi)發(fā)機(jī)!
現(xiàn)在以 Java API 開(kāi)發(fā)為例來(lái)進(jìn)入 Tango App 的開(kāi)發(fā),如果你熟悉 Unity 3D 的開(kāi)發(fā),就直接用 Unity 3D 的 package,因?yàn)?80% 的 Tango App 都是用 Unity 3D 開(kāi)發(fā)的,當(dāng)然最多的就是游戲啦!
1)環(huán)境準(zhǔn)備
1. Android Studio 2.2
2. USB debugging
Phab 2 Pro 開(kāi)啟 Developer option 中的 USB debugging,沒(méi)有 Developer option,那你肯定是 Android 開(kāi)發(fā)新手,在 Settings->About phone 下連續(xù)點(diǎn)擊 7 次 Build number 就可以召喚出 Developer option 了。
2)獲取示例代碼
git clone https://github.com/googlesamples/tango-examples-java.git
3)打開(kāi) Java Cloud point example
直接 control + R
選擇 Phab 2 Pro
如果出現(xiàn)以下錯(cuò)誤:
1 Error:Execution failed for task ‘:app:transformNative_libsWithStripDebugSymbolForDebug’.
2 > java.lang.NullPointerException (no error message)
只需要將 compileSdkVersion 和 targetSdkVersion 的版本號(hào)跟 buildToolsVersion 保持一致。
安裝成功
在手機(jī)上可以看到 Cloud point,實(shí)時(shí)的總點(diǎn)數(shù)和點(diǎn)的平均深度。
4)更多
https://github.com/lvonasek/tango
利用C API對(duì)采集到的Point cloud進(jìn)行處理,實(shí)現(xiàn)三維重建的APP。
近似的掃描效果:
5. Daydream開(kāi)發(fā)
再來(lái)重溫下 Daydream 的目的,可以簡(jiǎn)單看到是 Cardboard 的升級(jí)版本,但卻定義了一個(gè)可以滿(mǎn)足用戶(hù)體驗(yàn)的最低硬件標(biāo)準(zhǔn)并開(kāi)發(fā)了一整套API來(lái)讓開(kāi)發(fā)者可以方便的開(kāi)發(fā)出高質(zhì)量體驗(yàn)的應(yīng)用。
同樣的 Daydream App 需要一個(gè) Daydream ready 的手機(jī)來(lái)運(yùn)行或可以運(yùn)行 Cardboard apps 且大于 Android 4.4(kitkat) 的手機(jī),這里同樣使用 Phab 2 Pro。
使用 Daydream 主要用來(lái)完成以下開(kāi)發(fā)任務(wù):
Lens distortion correction.
Spatial audio.
Head tracking.
3D calibration.
Side-by-side rendering.
Stereo geometry configuration.
User input event handling.
1)獲取代碼
git clone https://github.com/googlevr/gvr-android-sdk.git
2)Android Studio
打開(kāi) gvr-android-sdk
運(yùn)行( control + R)sample-sdk-treasurehunt
選擇 Phab 2 Pro
在手機(jī)上配合 Cardboard 或 Daydream Viewer (當(dāng)然國(guó)內(nèi)的各種盒子也是可以的,由于 Daydream Viewer 自由沒(méi)有添加計(jì)算能力,只是在操作手柄上加了外置九軸慣性測(cè)量單元來(lái)輔助精確追蹤)
6. 總結(jié)
使用 ZenFone AR 和 Daydream Viewer,預(yù)計(jì)總價(jià)不會(huì)超過(guò)人民幣 5000 元,就可以不用拖長(zhǎng)長(zhǎng)的連接線,也不用再專(zhuān)門(mén)配備一個(gè)高性能主機(jī),在家里完全自由的沉浸在Google Street View, YouTube, Netflix, Hulu, HBO 以及諸如 Fantastic Beasts , Where to Find Them, Need for Speed 和 Gunjack 2 這些 VR 游戲中,不是安靜的坐著,而是 360 度的自由視角。
完美 VR 的硬件和 API 已經(jīng)準(zhǔn)備好了,著手自己的開(kāi)發(fā)計(jì)劃吧!
投稿郵箱:chuanbeiol@163.com 詳情請(qǐng)?jiān)L問(wèn)川北在線:http://m.fishbao.com.cn/