Tango+Daydream,刀剑合璧的Android VR开发

随着ASUS在CES2017上宣布了全球第一款同时具有Tango和Daydream两种能力的ZenFone AR,终于使得AR/VR/MR这些近来全球开发圈内超级热门的词汇可以让我们国内的Android开发者直接利用手中的Android Studio和方便入手的Android设备来进行虚拟开发的探索了!

三种交互

AR

增强现实,人眼接受到的光线包括了现实的光和AR设备屏幕发出的光,通过人眼的处理能力进行合成,增强现实感。
Phab 2 Pro就是一款AR设备,可以拍摄可爱的小猫或小狗跟小宝宝一起玩的照片而不用担心安全,因为小动物都是虚拟的。


2017-01-03-tango-with-daydream-is-coming/20170103152130444.png
2017-01-03-tango-with-daydream-is-coming/20170103152130444.png

VR

虚拟现在,使用头盔或Cardboard完全遮挡住现实的光线,人眼只接受VR设备发出的光,跟现实完全隔离。
Oculus Rift, PlayStation VR, Samsung Gear VR 以及 HTC Vive都属于此类设备。


2017-01-03-tango-with-daydream-is-coming/20170103154906634.png
2017-01-03-tango-with-daydream-is-coming/20170103154906634.png

MR

混合现实,MR设备自身具有三维坐标感知能力,随着人的移动,虚拟物体的显示也随着变化。
Hololens属于MR设备。


2017-01-03-tango-with-daydream-is-coming/20170103155611338.png
2017-01-03-tango-with-daydream-is-coming/20170103155611338.png

两大技术

Tango(屠龙)

正如2000年时Sumsung在SCH-V200手机上上添加了摄像头,手机开始了睁眼看世界的能力,现在Tango摄像头为手机添加了真实三维世界的感知能力。


2017-01-03-tango-with-daydream-is-coming/20170104132625731.png
2017-01-03-tango-with-daydream-is-coming/20170104132625731.png

简单的讲,Tango具有以下三大功能:

  • Motion tracking: 我在哪里,空间位置
  • Area learning: 前边有什么,看到什么
  • Depth perception: 前边有多远


    2017-01-03-tango-with-daydream-is-coming/20170103160452943.png
    2017-01-03-tango-with-daydream-is-coming/20170103160452943.png

    不论是使用ToF(Time of Flight),通过传感器发出经调制的近红外光,遇物体后反射,传感器通过计算光线发射和反射时间差或相位差,来换算被拍摄景物的距离,以产生深度信息。


    2017-01-03-tango-with-daydream-is-coming/20170103171451342.png
    2017-01-03-tango-with-daydream-is-coming/20170103171451342.png

    还是结构光计算,通过向检测空间内投射经过编码的激光光斑阵列,对空间进行标定并辅助计算三维空间位置。
    2017-01-03-tango-with-daydream-is-coming/20170103171814160.png
    2017-01-03-tango-with-daydream-is-coming/20170103171814160.png

所得到的如下图中的cloud point数据,可以看到此时共采集到了12464个带有XYZ三维坐标的点。


2017-01-03-tango-with-daydream-is-coming/20170103171324338.png
2017-01-03-tango-with-daydream-is-coming/20170103171324338.png

Daydream(倚天)

目的是要让用户得到最好的虚拟体验,通过定义了一组最低的硬件运行效果标准以及为开发者提供易用的Daydream API,消除了导致用户眩晕的画面延迟,做到最高性价比的虚拟体验。


2017-01-03-tango-with-daydream-is-coming/20170103160420398.png
2017-01-03-tango-with-daydream-is-coming/20170103160420398.png

硬件

Phab 2 Pro

全球第一款消费级的Tango设备,使用骁龙652,4G内存和64G存储,重要的是国内版本和国外版本都具有完整的Tango功能。京东上可以直接下单,支持211的!
缺点是作为普通手机使用,6.4寸屏幕太大,顔值也不够高,整体偏笨。
Android感知三维世界的"眼睛"--Tango组件:


2017-01-03-tango-with-daydream-is-coming/20170103151919100.png
2017-01-03-tango-with-daydream-is-coming/20170103151919100.png

2017-01-03-tango-with-daydream-is-coming/20170103152329144.png
2017-01-03-tango-with-daydream-is-coming/20170103152329144.png

典型的应用场景:


2017-01-03-tango-with-daydream-is-coming/20170103152130444.png
2017-01-03-tango-with-daydream-is-coming/20170103152130444.png

ZenFone AR

全球第一款消费级的Tango+Daydream设备,使用骁龙821来保证用户得到Daydream体验,第一款Daydream手机Google Pixel和Asus Zenphone 3也使用的是骁龙821。由于Daydream Viewer现在兼容的手机尺寸是5.0到5.7寸屏,那么ZenFone AR搭配Android 7(Nougat)的5.7寸屏用起来应当是相当顺手的。


2017-01-03-tango-with-daydream-is-coming/20170103151700773.png
2017-01-03-tango-with-daydream-is-coming/20170103151700773.png

Tango开发

首先,你需要一款Tango设备,因为还没有可以模拟Tango相关摄像头硬件的模拟器,上节中 Phab 2 Pro 是很不错的开发机!
现在以Java API开发为例来进入Tango APP的开发,如果你熟悉Unity 3D的开发,就直接用Unity 3D的package,因为80%的Tango APP都是用Unity 3D开发的,当然最多的就是游戏啦!

环境准备

Android Studio 2.2

2017-01-03-tango-with-daydream-is-coming/20170103194739549.png
2017-01-03-tango-with-daydream-is-coming/20170103194739549.png

USB debugging

Phab 2 Pro开启Developer option中的USB debugging,没有Developer option,那你肯定是Android开发新手,在Settings->About phone下连续点击7次Build number就可以召唤出Developer option了。


2017-01-03-tango-with-daydream-is-coming/20170103194853830.png
2017-01-03-tango-with-daydream-is-coming/20170103194853830.png

获取示例代码

git clone https://github.com/googlesamples/tango-examples-java.git
2017-01-03-tango-with-daydream-is-coming/20170103195252363.png
2017-01-03-tango-with-daydream-is-coming/20170103195252363.png

打开Java Cloud point example

2017-01-03-tango-with-daydream-is-coming/20170103195614492.png
2017-01-03-tango-with-daydream-is-coming/20170103195614492.png

直接 control + R


2017-01-03-tango-with-daydream-is-coming/20170103195727424.png
2017-01-03-tango-with-daydream-is-coming/20170103195727424.png

选择Phab 2 Pro


2017-01-03-tango-with-daydream-is-coming/20170103195807115.png
2017-01-03-tango-with-daydream-is-coming/20170103195807115.png

如果出现以下错误:
Error:Execution failed for task ':app:transformNative_libsWithStripDebugSymbolForDebug'.
> java.lang.NullPointerException (no error message)

只需要将compileSdkVersion和targetSdkVersion的版本号跟buildToolsVersion保持一致。


2017-01-03-tango-with-daydream-is-coming/20170103200757443.png
2017-01-03-tango-with-daydream-is-coming/20170103200757443.png

安装成功


2017-01-03-tango-with-daydream-is-coming/20170103200911758.png
2017-01-03-tango-with-daydream-is-coming/20170103200911758.png

在手机上可以看到Cloud point,实时的总点数和点的平均深度。


2017-01-03-tango-with-daydream-is-coming/20170103201026653.png
2017-01-03-tango-with-daydream-is-coming/20170103201026653.png

更多

https://github.com/lvonasek/tango/
利用C API对采集到的Point cloud进行处理,实现三维重建的APP。
近似的扫描效果:

2017-01-03-tango-with-daydream-is-coming/2017010320163332.png
2017-01-03-tango-with-daydream-is-coming/2017010320163332.png

Daydream开发

再来重温下Daydream的目的,可以简单看到是Cardboard的升级版本,但却定义了一个可以满足用户体验的最低硬件标准并开发了一整套API来让开发者可以方便的开发出高质量体验的应用。
同样的Daydream APP需要一个Daydream ready的手机来运行或可以运行Cardboard apps且大于Android 4.4(kitkat)的手机,这里同样使用Phab 2 Pro。
使用Daydream主要用来完成以下开发任务:

  • Lens distortion correction.
  • Spatial audio.
  • Head tracking.
  • 3D calibration.
  • Side-by-side rendering.
  • Stereo geometry configuration.
  • User input event handling.

获取代码

git clone https://github.com/googlevr/gvr-android-sdk.git
2017-01-03-tango-with-daydream-is-coming/20170103203649160.png
2017-01-03-tango-with-daydream-is-coming/20170103203649160.png

Android Studio

打开gvr-android-sdk


2017-01-03-tango-with-daydream-is-coming/20170103203908964.png
2017-01-03-tango-with-daydream-is-coming/20170103203908964.png

运行( control + R)sample-sdk-treasurehunt


2017-01-03-tango-with-daydream-is-coming/20170103204906349.png
2017-01-03-tango-with-daydream-is-coming/20170103204906349.png

选择 Phab 2 Pro
2017-01-03-tango-with-daydream-is-coming/2017010320501196.png
2017-01-03-tango-with-daydream-is-coming/2017010320501196.png

在手机上配合Cardboard或Daydream Viewer(当然国内的各种盒子也是可以的,由于Daydream Viewer自由没有添加计算能力,只是在操作手柄上加了外置九轴惯性测量单元来辅助精确追踪)


2017-01-03-tango-with-daydream-is-coming/20170103205247126.png
2017-01-03-tango-with-daydream-is-coming/20170103205247126.png

总结

使用ZenFone AR和Daydream Viewer,预计总价不会超过人民币5000元,就可以不用拖长长的连接线,也不用再专门配备一个高性能主机,在家里完全自由的沉浸在Google Street View, YouTube, Netflix, Hulu, HBO以及诸如 Fantastic Beasts , Where to Find Them, Need for Speed和Gunjack 2这些VR游戏中,不是安静的坐着,而是360度的自由视角。
完美VR的硬件和API已经准备好了,着手自己的开发计划吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容