Google Play Services for AR是谷歌推出的AR平台,其全称即为Google Play Services for AR。该平台可与苹果的ARKit相媲美,主要目的是协助开发者打造AR应用。它利用智能摄像头把虚拟内容和真实世界融合起来,从而实现对虚拟内容在现实世界中位置的感知与追踪。依托ARCore以及兼容的移动设备,开发者能让用户通过智能设备体验三维动画。需要说明的是,ARCore是用于开发增强现实应用的Android SDK,属于开发人员在桌面端无法直接看到的系统组件。
Google Play Services for AR相关基本概念
在深入了解ARCore之前,先掌握一些基本概念会很有帮助。这些概念共同解释了ARCore是如何让虚拟内容看起来仿佛真实地呈现在现实表面上,或是附着在现实世界的某个位置的。
1、运动追踪
当您在现实世界中移动时,ARCore 借助同时定位与映射(SLAM)技术来感知自身相对于周围环境的位置。它会识别摄像头捕捉图像里那些视觉特征鲜明的点(即特征点),并利用这些点来计算位置的变动情况。随后,这些视觉信息会与设备惯性测量单元(IMU)的惯性数据相结合,共同用于估算摄像头在不同时间点相对于现实世界的姿态(包含位置与方向)。
开发者通过把渲染3D内容所用的虚拟摄像头的姿势,与ARCore所提供的设备摄像头姿势进行对齐,就能从准确的角度来渲染虚拟内容。这样一来,渲染出的虚拟图像可以叠加到从设备相机获取的图像之上,让虚拟内容看起来就像是现实世界里真实存在的一部分。
2、环境理解
ARCore 通过检测特征点与平面,持续深化对现实世界环境的认知。
ARCore能够识别常见水平或垂直表面(如桌子、墙面)上聚集的特征点,并把这些表面以几何平面的形式提供给应用程序。同时,ARCore还能确定每个几何平面的边界,将相关信息传递给应用。借助这些信息,你可以把虚拟对象放置在平坦的表面上。
因为 ARCore 是通过特征点来检测平面的,所以对于像白墙这类缺乏纹理的平坦表面,它可能无法准确识别。
3、深度理解
ARCore 能够借助受支持设备的主 RGB 摄像头生成深度图,该深度图包含了表面与特定点之间的距离数据。利用深度图所提供的信息,您可以打造出沉浸式且逼真的用户体验,比如让虚拟对象与现实中观察到的表面精准碰撞,或者让虚拟对象呈现于真实物体的前方或后方。
4、光估测
ARCore 能够感知环境中的光线情况,为你提供当前摄像头画面的平均光强数据以及色彩校准参数。借助这些信息,你可以让虚拟物体的光照效果与周围实际环境保持一致,进而增强虚拟物体的真实感。
5、用户互动
ARCore借助点击测试功能,获取屏幕上由点按或应用支持的其他互动方式提供的对应(x,y)坐标,随后将光线投射至摄像头所呈现的世界视图里,进而返回该射线所相交的所有几何平面或特征点,以及这些交点在现实世界空间中的姿态信息。通过这种方式,用户便能对环境中的对象进行选择,或者以其他形式与之展开互动。
6、定向点
通过定向点,您能够把虚拟对象放置在倾斜的表面上。当您进行可返回特征点的点击测试时,ARCore 会扫描附近的特征点,并利用这些点来尝试推算出指定特征点所在表面的角度,随后返回一个包含该角度信息的姿势。不过,由于 ARCore 是依靠特征点聚类来识别表面角度的,所以对于像白墙这类缺乏纹理的表面,可能无法准确检测。
7、锚点和可跟踪对象
姿态会随着ARCore对自身位置及环境理解的优化而改变。若要放置虚拟对象,需定义锚点,这样ARCore才能持续追踪对象的位置变化。一般可依据点击测试返回的姿势来创建锚点,具体可参考用户互动相关说明。
姿态会产生变动,这表明ARCore或许会更新环境对象(比如几何平面和特征点)的位置。平面与点属于一种特殊的对象类型,被称作“可跟踪对象”。正如其名,ARCore会在时间推移中对这些对象进行跟踪。你能够把虚拟对象锚定到特定的可跟踪对象上,以此保证即便设备移动,虚拟对象和可跟踪对象之间的关系依然保持稳定。这就意味着,要是你将一个虚拟的Android小雕像放置在书桌上,即便ARCore之后调整了与书桌相关联的几何平面的姿态,Android小雕像看起来依旧会处于桌子上。
注意:为了减少CPU成本支出,建议尽量重复利用锚点,同时及时分离掉不再需要的锚点。
8、增强图像
通过增强图像功能,您能够开发出可对特定2D图像(如产品包装、电影海报等)做出响应的AR应用。当用户用相机对准这些特定图片时,就能启动AR体验。比如,他们把相机对准电影海报,就能让角色从海报中“跳”出来并展示。此外,ARCore还可以追踪移动的图像,像行驶中公交车侧面的广告牌也能被识别和跟踪。
您既可以通过离线编译图片来构建图片数据库,也能够从设备端实时添加单张图片。完成注册后,ARCore 会对这些图像及其边界进行检测,并反馈对应的姿态信息。
Google Play Services for AR支持机型
ARCore 可在运行 Android 7.0(Nougat,牛轧糖)及更高版本系统的多款符合要求的 Android 设备上使用。在开发者预览阶段,ARCore 支持的设备如下(见下图)。
后来扩大了其它设备的支持(如下图)
Google Play Services for AR软件亮点
【动作捕捉】
通过运用传感器与相机,ARCore 能够精准感知位置和姿态,并相应调整所显示虚拟物体的位置与姿态。
【环境感知】
像你面前的桌子、地面这类感知平面,能在虚拟空间里被精准地还原出来。
【光源感知】
借助环境光传感器对环境光照状况进行感知,以此为依据相应调节虚拟物体的亮度、阴影与材质,使其在视觉上更自然地融入所处环境。
Google Play Services for AR温馨提示
ARCore 可在搭载 Android 7.0(Nougat,牛轧糖)及更高版本系统的 Android 设备上使用。
ARCore需配合使用,无法单独开启运行。
这款应用仅适配华为、小米、一加、三星、vivo这几个品牌系统版本7.0及以上的高端机型,普通机型可能无法正常运行,建议谨慎下载使用!
Google Play Services for AR点评
支持各种款式的,操作简单也方便。
能够在设备上增加AR图片效果,效果非常棒。
感知环境,能够精准的浮现现实的生活场景。
增强现实的感受,还能够增加自己的一些小创意。
Google Play Services for AR评分:(5分)
软件功能(新版本):4.5
软件使用:4.3
应用内容:4.9
工具流畅:4.3