隨著 ASUS 在 CES2017 上宣布了全球第一款同時(shí)具有 Tango 和 Daydream 兩種能力的 ZenFone AR,終于使得 AR/VR/MR 這些近來全球開發(fā)圈內(nèi)超級(jí)熱門的詞匯可以讓我們國(guó)內(nèi)的 Android 開發(fā)者直接利用手中的 Android Studio 和方便入手的 Android 設(shè)備來進(jìn)行虛擬開發(fā)的探索了!
1. 三種交互
1)AR
增強(qiáng)現(xiàn)實(shí),人眼接受到的光線包括了現(xiàn)實(shí)的光和 AR 設(shè)備屏幕發(fā)出的光,通過人眼的處理能力進(jìn)行合成,增強(qiáng)現(xiàn)實(shí)感。
Phab 2 Pro 就是一款 AR 設(shè)備,可以拍攝可愛的小貓或小狗跟小寶寶一起玩的照片而不用擔(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 都屬于此類設(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ī)開始了睜眼看世界的能力,現(xiàn)在 Tango 攝像頭為手機(jī)添加了真實(shí)三維世界的感知能力。
簡(jiǎn)單的講,Tango 具有以下三大功能:
Motion tracking: 我在哪里,空間位置
Area learning: 前邊有什么,看到什么
Depth perception: 前邊有多遠(yuǎn)
不論是使用 ToF (Time of Flight),通過傳感器發(fā)出經(jīng)調(diào)制的近紅外光,遇物體后反射,傳感器通過計(jì)算光線發(fā)射和反射時(shí)間差或相位差,來?yè)Q算被拍攝景物的距離,以產(chǎn)生深度信息。
還是結(jié)構(gòu)光計(jì)算,通過向檢測(cè)空間內(nèi)投射經(jīng)過編碼的激光光斑陣列,對(duì)空間進(jìn)行標(biāo)定并輔助計(jì)算三維空間位置。
所得到的如下圖中的 cloud point 數(shù)據(jù),可以看到此時(shí)共采集到了 12464 個(gè)帶有 XYZ 三維坐標(biāo)的點(diǎn)。
2)Daydream (倚天)
目的是要讓用戶得到最好的虛擬體驗(yàn),通過定義了一組 的硬件運(yùn)行效果標(biāo)準(zhǔn)以及為開發(fā)者提供易用的 Daydream API,消除了導(dǎo)致用戶眩暈的畫面延遲,做到 性價(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 來保證用戶得到 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 寸屏用起來應(yīng)當(dāng)是相當(dāng)順手的。
4. Tango開發(fā)
首先,你需要一款 Tango 設(shè)備,因?yàn)檫沒有可以模擬 Tango 相關(guān)攝像頭硬件的模擬器,上節(jié)中 Phab 2 Pro 是很不錯(cuò)的開發(fā)機(jī)!
現(xiàn)在以 Java API 開發(fā)為例來進(jìn)入 Tango App 的開發(fā),如果你熟悉 Unity 3D 的開發(fā),就直接用 Unity 3D 的 package,因?yàn)?80% 的 Tango App 都是用 Unity 3D 開發(fā)的,當(dāng)然最多的就是游戲啦!
1)環(huán)境準(zhǔn)備
1. Android Studio 2.2
2. USB debugging
Phab 2 Pro 開啟 Developer option 中的 USB debugging,沒有 Developer option,那你肯定是 Android 開發(fā)新手,在 Settings->About phone 下連續(xù)點(diǎn)擊 7 次 Build number 就可以召喚出 Developer option 了。
2)獲取示例代碼
git clone https://github.com/googlesamples/tango-examples-java.git
3)打開 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開發(fā)
再來重溫下 Daydream 的目的,可以簡(jiǎn)單看到是 Cardboard 的升級(jí)版本,但卻定義了一個(gè)可以滿足用戶體驗(yàn)的 硬件標(biāo)準(zhǔn)并開發(fā)了一整套API來讓開發(fā)者可以方便的開發(fā)出高質(zhì)量體驗(yàn)的應(yīng)用。
同樣的 Daydream App 需要一個(gè) Daydream ready 的手機(jī)來運(yùn)行或可以運(yùn)行 Cardboard apps 且大于 Android 4.4(kitkat) 的手機(jī),這里同樣使用 Phab 2 Pro。
使用 Daydream 主要用來完成以下開發(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
打開 gvr-android-sdk
運(yùn)行( control + R)sample-sdk-treasurehunt
選擇 Phab 2 Pro
在手機(jī)上配合 Cardboard 或 Daydream Viewer (當(dāng)然國(guó)內(nèi)的各種盒子也是可以的,由于 Daydream Viewer 自由沒有添加計(jì)算能力,只是在操作手柄上加了外置九軸慣性測(cè)量單元來輔助 追蹤)
6. 總結(jié)
使用 ZenFone AR 和 Daydream Viewer,預(yù)計(jì)總價(jià)不會(huì)超過人民幣 5000 元,就可以不用拖長(zhǎng)長(zhǎng)的連接線,也不用再專門配備一個(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)備好了,著手自己的開發(fā)計(jì)劃吧!
投稿郵箱:chuanbeiol@163.com 詳情請(qǐng)?jiān)L問川北在線:http://dstuf.com/