正文|GoogleDevelopmentTechnologist(GDE)YangBo(Alpha)随着华硕在CES2017上公布了首款兼具Tango和Daydream功能的ZenFoneAR,终于让AR/VR/MR这些最近全球开发圈的超级热门词汇让我们国内的Android开发者直接使用手中的AndroidStudio和随手可得的Android设备探索虚拟开发!三种交互式AR增强现实,人眼接收到的光包括真实光和AR设备屏幕发出的光,通过人眼的处理能力进行合成,增强真实感。Phab2Pro是一款AR设备,可以拍摄可爱的小猫或小狗和宝宝玩耍的照片,不用担心安全问题,因为小动物是虚拟的。在VR虚拟现实中,通过头盔或者Cardboard来完全阻挡现实的光线,人眼只接受VR设备发出的光线,与现实完全隔绝。OculusRift、PlayStationVR、SamsungGearVR和HTCVive就是此类设备的示例。MR混合现实,MR设备本身具有感知三维坐标的能力。随着人的移动,虚拟对象的显示也会发生变化。Hololens是一种MR设备。两大技术Tango(图龙)就像2000年三星在SCH-V200手机上加装摄像头一样,手机开始有了睁眼看世界的能力。现在Tango相机将真实三维世界的感知加入到手机中。简单来说,Tango有以下三个功能:运动追踪:我在哪里,空间位置区域学习:我面前是什么,我看到了什么深度感知:无论使用什么,传感器发送到前方多远ToF(飞行时间)调制的近红外光在遇到物体后被反射。传感器通过计算光发射和反射的时间差或相位差来计算拍摄场景的距离,从而产生深度信息。或者结构光计算,通过将经过编码的激光光斑阵列投射到探测空间,进行空间标定,辅助三维空间定位。得到的浊点数据如下图所示。可以看到此时一共采集了12464个XYZ三维坐标的点。Daydream(易天)的宗旨是让用户获得最佳的虚拟体验,通过定义一套最佳的硬件运行效果标准,并为开发者提供简单易用的DaydreamAPI,消除导致用户感觉的屏幕延迟晕,实现最高性价比的虚拟体验。硬件Phab2Pro是首款消费级Tango设备,采用骁龙652、4G内存和64G存储。重要的是无论是国内版本还是国外版本都具备完备的Tango功能。Android感知三维世界的“眼睛”——Tango组件:典型应用场景:ZenFoneAR,首款消费级Tango+Daydream设备,采用骁龙821保证用户获得Daydream体验,首款Daydream手机GooglePixel而华硕Zenphone3同样采用了骁龙821。由于DaydreamViewer目前兼容的手机尺寸从5.0到5.7英寸不等,5.7英寸屏幕的ZenFoneAR运行Android7(牛轧糖)应该会相当好用。Tango开发首先需要一个Tango设备,因为目前还没有模拟器可以模拟Tango相关的摄像头硬件。上一节中的Phab2Pro是一款非常好的开发机!现在以JavaAPI开发为例进入TangoApp的开发,如果熟悉Unity3D开发,可以直接使用Unity3D包,因为80%的TangoApp都是用Unity3D开发的,当然最多的是游戏!环境准备1.AndroidStudio2.22。USBdebuggingPhab2Pro在开发者选项中开启USB调试。如果没有Developer选项,那么你一定是Android开发的新手。在设置->关于手机下连续点击内部版本号7次,调用开发者选项。获取示例代码gitclonehttps://github.com/googlesamples/tango-examples-java.git打开JavaCloud点示例直接control+R选择Phab2Pro如果出现如下错误:Error:Executionfailedfortask':app:transformNative_libsWithStripDebugSymbolForDebug'.>java.lang.NullPointerException(noerrormessage)只需要保持compileSdkVersion和targetSdkVersion的版本号与buildToolsVersion一致即可。安装成功后,可以在手机端看到云点,实时的点总数和点的平均深度。更多https://github.com/lvonasek/tango使用CAPI对采集到的点云进行处理,实现3D重建APP。大概扫描效果:Daydream开发我们再回顾一下Daydream的用途,可以简单的看出它是Cardboard的升级版,但是它定义了一个能够满足用户体验的硬件标准,并且开发了一套API让开发者方便开发高质量的体验应用。同样的Daydream应用程序需要运行Daydreamready手机或可以运行Cardboard应用程序且高于Android4.4(kitkat)的手机,这里也使用Phab2Pro。使用Daydream主要用于完成以下开发任务:镜头畸变校正。空间音频。头部追踪。3D校准。并排渲染。立体几何配置。用户输入事件处理。获取代码gitclonehttps://github.com/googlevr/gvr-android-sdk.gitAndroidStudio打开gvr-android-sdk并运行(control+R)sample-sdk-treasurehunt选择Phab2Pro以使用Cardboard或DaydreamViewer手机端(当然国内各种盒子也是可以的,因为DaydreamViewerFreedom不加算力,而是在操作手柄上加了外置九轴惯性测量单元,辅助精准追踪)综上所述,使用ZenFoneAR和DaydreamViewer,总价预计不会超过5000元,而且可以毫不拖延地完成长线,无需配备高性能主机,完全自由地沉浸在谷歌街景、YouTube、Netflix、Hulu、HBO和《神奇动物在哪里》、《极品飞车》、《枪械杰克2》等游戏在家玩VR游戏,不仅仅是静坐,还有360度的自由视角。***VR硬件和API准备就绪,开始你自己的开发计划吧!
