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 使用特征点来检测平面,因此可能无法正确检测像白墙一样没有纹理的平坦表面。
3、深度理解
ARCore 能够借助受支持设备的主 RGB 摄像头生成深度图,该深度图包含了表面与特定点之间的距离数据。利用深度图所提供的信息,您可以打造沉浸式且逼真的用户体验,比如让虚拟对象与实际观察到的表面精准碰撞,或者让虚拟对象呈现于真实物体的前方或后方。
4、光估测
ARCore 可以检测其环境光线的相关信息,并为您提供给定摄像头图像的平均光强度和色彩校正。这些信息可让您在与周围环境相同的条件下照亮您的虚拟对象,从而提升其真实感。
5、用户互动
ARCore借助点击测试功能,获取与手机屏幕对应的(x,y)坐标(这些坐标可通过点按或应用支持的其他互动方式提供),然后将光线投射到摄像头所呈现的世界视图里,接着返回该射线与所有几何平面或特征点的交点,以及交点在现实世界空间中的姿态信息。通过这种方式,用户就能对环境中的对象进行选择,或者以其他形式与它们展开互动。
6、定向点
通过定向点,您能够把虚拟对象放置在倾斜的表面上。当您进行会返回特征点的点击测试时,ARCore 会扫描附近的特征点,并利用这些特征点来尝试推算出指定特征点所在表面的角度。之后,ARCore 会返回一个包含该角度因素的姿势。因为 ARCore 是借助特征点聚类来识别表面角度的,所以对于缺乏纹理的表面(比如白墙),可能无法准确检测。
7、锚点和可跟踪对象
姿态会随着ARCore对自身位置及环境理解的提升而改变。若要放置虚拟对象,需定义锚点,这样ARCore才能持续跟踪对象的位置变化。一般来说,可依据点击测试返回的姿势来创建锚点,具体操作可参考用户互动相关说明。
姿态的变化会让ARCore有可能更新环境对象(像几何平面和特征点这类)的位置。平面和点属于一种特殊的可跟踪对象,正如其名,ARCore会持续跟踪这些对象。你可以把虚拟对象锚定在特定的可跟踪对象上,这样就算设备移动,虚拟对象和可跟踪对象之间的关系也能保持稳定。也就是说,要是你在书桌上放了一个虚拟的Android小雕像,即便之后ARCore调整了书桌对应的几何平面姿态,这个小雕像看起来还是会在桌子上。
注意:为了降低 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