Google Play Services for AR是谷歌推出的AR平台,其全称就是Google Play Services for AR。这个平台可与苹果的ARKit相媲美,主要目的是协助开发者打造AR应用。它利用智能摄像头把虚拟内容和真实世界融合起来,从而实现对虚拟内容在现实世界中位置的感知与追踪。依靠ARCore以及兼容的移动设备,开发者能让用户通过智能设备体验三维动画。需要说明的是,ARCore是用于开发增强现实应用的Android SDK,它是开发人员在桌面端无法看到的系统组件。
在深入了解 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 会检测这些图像以及图像的边界,并返回相应的姿态。
ARCore 可以在运行 Android 7.0 (Nougat) 及更高版本系统的多种符合资格的 Android 上使用。 在开发者预览版期间,ARCore 支持以下设备(如下图)
后来扩大了其它设备的支持(如下图)
【动作捕捉】
使用的传感器和相机,ARCore 可以准确感知的位置和姿态,并改变显示的虚拟物体的位置和姿态
【环境感知】
感知平面,比如你面前的桌子、地面,在虚拟空间中准确复现这个平面
【光源感知】
使用的环境光传感器,感知环境光照情况,对应调整虚拟物体的亮度、阴影和材质,让它看起来更融入环境。
ARCore可以在运行 Android 7.0 (Nougat) 及更高版本系统的 Android 上使用。
ARCore需配合使用,无法单独开启运行。
该应用仅支持华为,小米,一加,三星,vivo系统7.0以上的高端机型,普通无法正常运行请谨慎!
支持各种款式的,操作简单也方便。
能够在设备上增加AR图片效果,效果非常棒。
感知环境,能够精准的浮现现实的生活场景。
增强现实的感受,还能够增加自己的一些小创意。
软件功能(新版本):4.5
软件使用:4.3
应用内容:4.9
工具流畅:4.3