AR/VR/MR,Android开发者可以做些什么?

栏目: IT技术资讯 发布于: 2017-01-12 03:30:11




文| 谷歌开发技术专家 (GDE) 杨波 (Alpha)


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



 三种交互

AR

增强现实,人眼接受到的光线包括了现实的光和 AR 设备屏幕发出的光,通过人眼的处理能力进行合成,增强现实感。


Phab 2 Pro 就是一款 AR 设备,可以拍摄可爱的小猫或小狗跟小宝宝一起玩的照片而不用担心安全,因为小动物都是虚拟的。



VR

虚拟现在,使用头盔或 Cardboard 完全遮挡住现实的光线,人眼只接受 VR 设备发出的光,跟现实完全隔离。


Oculus Rift, PlayStation VR, Samsung Gear VR 以及 HTC Vive 都属于此类设备。



MR

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


Hololens 属于 MR 设备。




 两大技术

Tango (屠龙)

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



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

  • Motion tracking: 我在哪里,空间位置

  • Area learning: 前边有什么,看到什么

  • Depth perception: 前边有多远



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


还是结构光计算,通过向检测空间内投射经过编码的激光光斑阵列,对空间进行标定并辅助计算三维空间位置。



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



Daydream (倚天)

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




 硬件

Phab 2 Pro

全球第一款消费级的 Tango 设备,使用骁龙 652,4G 内存和 64G 存储,重要的是国内版本和国外版本都具有完整的 Tango 功能。

Android 感知三维世界的 ”眼睛”– Tango 组件:



典型的应用场景:



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 寸屏用起来应当是相当顺手的。




 Tango 开发

首先,你需要一款 Tango 设备,因为还没有可以模拟 Tango 相关摄像头硬件的模拟器,上节中 Phab 2 Pro 是很不错的开发机!


现在以 Java API 开发为例来进入 Tango App 的开发,如果你熟悉 Unity 3D 的开发,就直接用 Unity 3D 的 package,因为 80% 的 Tango App 都是用 Unity 3D 开发的,当然最多的就是游戏啦!


环境准备

1. Android Studio 2.2



2. USB debugging

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



获取示例代码

git clone https://github.com/googlesamples/tango-examples-java.git


打开 Java Cloud point example



直接 control + R



选择 Phab 2 Pro



如果出现以下错误:

1

2

Error:Execution failed for task ':app:transformNative_libsWithStripDebugSymbolForDebug'.

> java.lang.NullPointerException (no error message)


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



安装成功



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



更多

https://github.com/lvonasek/tango


利用C API对采集到的Point cloud进行处理,实现三维重建的APP。


近似的扫描效果:




 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



Android Studio

打开 gvr-android-sdk



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



选择 Phab 2 Pro



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



 总结

使用 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 已经准备好了,着手自己的开发计划吧!


作者上期回顾:

Android thing: Android 无处不在,Android 开发者大有可为




本文转载于微信公众号: 联想移动互联行业应用(LenovoMIA),更多微信文章请扫描关注公众号:

联想移动互联行业应用

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。
转载请注明:文章转载自 [http://www.php230.com]
本文标题:AR/VR/MR,Android开发者可以做些什么?
IT技术书籍推荐:
数据库技术丛书·MySQL技术内幕:InnoDB存储引擎(第2版)
数据库技术丛书·MySQL技术内幕:InnoDB存储引擎(第2版)
姜承尧 (David Jiang) (作者)
《MySQL技术内幕:InnoDB存储引擎(第2版)》由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。作为国内唯一一本关于InnoDB的专著,《MySQL技术内幕:InnoDB存储引擎(第2版)》的第1版广受好评,第2版不仅针对最新的MySQL 5.6对相关内容进行了全面的补充,还根据广大读者的反馈意见对第1版中存在的不足进行了完善,《MySQL技术内幕:InnoDB存储引擎(第2版)》大约重写了50%的内容。《MySQL技术内幕:InnoDB存储引擎(第2版)》从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB,更重要的是,它能为你设计管理高性能、高可用的数据库系统提供绝佳的指导。 《MySQL技术内幕:InnoDB存储引擎(第2版)》一共10章,首先宏观地介绍了MySQL的体系结构和各种常见的存储引擎以及它们之间的比较;接着以InnoDB的内部实现为切入点,逐一详细讲解了InnoDB存储引擎内部的各个功能模块的实现原理,包括InnoDB存储引擎的体系结构、内存中的数据结构、基于InnoDB存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份与恢复,以及InnoDB的性能调优等重要的知识;最后对InnoDB存储引擎源代码的编译和调试做了介绍,对大家阅读和理解InnoDB的源代码有重要的指导意义。 《MySQL技术内幕:InnoDB存储引擎(第2版)》适合所有希望构建和管理高性能、高可用性的MySQL数据库系统的开发者和DBA阅读。
最新互联网资讯
互联网资讯