Google Play Services for AR是谷歌所推出的一款增强现实平台,完整名称为Google Play Services for AR。该平台的功能类似于苹果的ARKit,旨在为开发者提供支持以便构建增强现实应用。它通过智能手机的摄像头将虚拟内容和真实环境相结合,能够理解和追踪虚拟内容在现实世界中的位置。利用ARCore和兼容设备,开发者能够使用户在智能手机上体验三维动画。需要说明的是,ARCore是一款用于开发增强现实应用的Android软件开发工具包,而开发人员在桌面上并不可见部分是系统组件。
在深入研究ARCore之前,了解一些基本概念会非常有益。这些概念共同阐明了ARCore如何使虚拟内容看起来仿佛呈现在真实表面上或附加到现实中的各个位置。
1、运动追踪
当智能手机在现实环境中移动时,ARCore会利用一种称为同时定位与地图构建(SLAM)的技术来识别手机相对于周围环境的位置。它会分析摄像头捕捉到的图像中不同视觉特征(特征点),利用这些点来计算位置变化。这些视觉信息与设备的惯性测量单元(IMU)数据结合,帮助估算摄像头在过去一段时间内相对现实世界的姿态(位置与方向)。
通过将虚拟摄像机的3D内容渲染姿态与ARCore提供的设备摄像机姿态进行对齐,开发者可以从正确的视角进行虚拟内容的渲染。合成的虚拟图像会叠加在从设备相机获取的图像上,使得虚拟内容看起来如同现实世界的一部分。
2、环境理解
ARCore不断识别特征点和平面,从而增强对现实环境的理解。
它能够发现常见的水平或垂直表面(如桌面或墙面)上成群的特征点,并将这些表面识别为几何平面,供应用程序使用。ARCore还会确定每个几何平面的边界,并将这些信息传递给应用。这允许开发者在光滑表面上放置虚拟物体。
由于ARCore依赖特征点来识别平面,因此可能在检测像白墙这样无特征的光滑表面时出现困难。
3、深度理解
ARCore能够通过支持设备的主RGB摄像头生成深度图,该深度图包含有关表面与特定观察点之间距离的信息。利用深度图提供的资料,可以创建沉浸感更强的用户体验,比如使虚拟对象与观察到的表面正确碰撞,或者使它们出现在现实物体的前后。
4、光估计
ARCore可以检测环境中的光线信息,并提供关于给定摄像头图像的平均光强度与色彩的校正。这一信息可以让虚拟对象在与周围环境相同的光照条件下进行照明,从而增加其真实感。
5、用户交互
ARCore可以通过点击测试获取与手机屏幕相对应的坐标(x, y),然后将光线投射到摄像头的世界视图中,并返回与该射线相交的所有几何平面或特征点以及交点在现实空间中的姿态。这样,用户便能够选择环境中的物体,或与其进行互动。
6、倾斜点
通过倾斜点的功能,您可以将虚拟物体放置在非水平表面上。当您执行点击测试以获取特征点时,ARCore会查看附近的特征点,并试图根据这些信息来估算该特征点上表面的角度。最终,ARCore将返回一个考虑到该角度的姿态。由于ARCore依赖特征点聚类来识别表面角度,因此可能在无纹理表面(如白墙)上出现检测失败。
7、锚点及可追踪对象
随着ARCore对自身位置和环境理解的不断进步,姿态会随之变化。当您希望放置一个虚拟对象时,您需要设定锚点,确保ARCore能持续追踪该对象的实时位置。通常您可以基于用户互动中的点击测试返回的姿态创建锚点。
由于姿态变化,ARCore可能需要更新环境中的对象(如几何平面和特征点)的位置信息,而平面和点属于一种特殊的“可追踪对象”。ARCore会持续跟踪这些对象的状态,您可以将虚拟对象锚定在特定的可追踪对象上,这样即使在设备移动时,虚拟对象和可追踪对象之间的关系也会得以保持。例如,即使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等高端Android机型,普通手机不一定能正常运行,请谨慎下载!
支持多种型号的手机,操作简便且便于使用。
可以在设备上增添AR视觉效果,效果相当出色。
精准感知环境,能够真实再现生活中的场景。
增强现实的体验还允许用户加入自己的创意元素。
软件功能(新版本):4.5
软件使用体验:4.3
应用内容质量:4.9
工具运行流畅:4.3