ARCore是谷歌推出的增强现实应用程序,属于AR技术范畴。它借助红外扫描与系统硬件,能把数字对象叠加到现实环境中;其专用的增强现实SDK,可显著改变工作与娱乐模式,让虚拟事物变得近在咫尺。通过简单的投影指引,ARCore能清晰告知下一步操作,带来极具科技感的炫酷体验。
1、运动追踪
当您在现实世界中移动时,ARCore 会借助同时定位和映射(SLAM)技术来感知自身相对于周围环境的位置。它会识别摄像头捕捉图像里那些视觉特征鲜明的点(即特征点),并利用这些点来计算位置的变动情况。同时,这些视觉信息还会与设备惯性测量单元(IMU)的惯性数据相融合,共同用于估算摄像头在不同时间点相对于现实世界的姿态(包括位置和方向)。
开发者通过把渲染3D内容的虚拟摄像头姿态,与ARCore所提供的设备摄像头姿态进行对齐,就能从准确的角度来渲染虚拟内容。而渲染出的虚拟图像,可以叠加到从设备相机获取到的图像之上,让虚拟内容看起来就像是现实世界里真实存在的一部分。
2、环境理解
ARCore 通过对特征点与平面的检测,持续深化对现实世界环境的认知。
ARCore 能够识别出常见水平或垂直表面(如桌子、墙面)上聚集的特征点,并将这些表面以几何平面的形式提供给应用。同时,ARCore 还可以确定每个几何平面的边界,把相关信息传递给应用。借助这些信息,你可以将虚拟对象放置在平坦的表面上。
因为ARCore是通过特征点来实现平面检测的,所以对于像白墙这类缺乏纹理的平坦表面,它可能无法准确识别。
3、深度理解
ARCore 能够借助受支持设备的主 RGB 摄像头生成深度图,该深度图包含了表面与特定点之间的距离数据。利用深度图所提供的信息,您可以打造沉浸式且逼真的用户体验,比如让虚拟对象与实际观察到的表面精准碰撞,或者让虚拟对象呈现于真实物体的前方或后方。
4、光估测
ARCore能够感知环境光线情况,为您提供摄像头图像的平均光强与色彩校正数据。借助这些信息,您可以让虚拟对象的光照效果与周围环境保持一致,进而增强其真实感。
5、用户互动
ARCore借助点击测试功能,获取屏幕上由点按或应用支持的其他互动方式所提供的(x,y)坐标,随后将光线投射至摄像头的世界视图里,返回这条射线与所有几何平面或特征点的交点,以及该交点在现实世界空间中的姿态信息。通过这种方式,用户就能对环境中的对象进行选择,或者以其他形式与之展开互动。
6、定向点
借助定向特征点,您能够把虚拟对象放置在倾斜的表面上。当您进行可返回特征点的点击测试时,ARCore 会检测附近的特征点,并利用这些特征点来尝试推算出指定特征点所在表面的角度。随后,ARCore 会返回一个包含该角度信息的姿势。因为 ARCore 是通过特征点聚类来识别表面角度的,所以对于缺乏纹理的表面(比如白墙),可能无法准确检测。
7、锚点和可跟踪对象
姿态会随着ARCore对自身位置及环境理解的提升而改变。若您想放置虚拟对象,需定义锚点,这样ARCore才能追踪对象在不同时间的位置。一般而言,您可依据点击测试返回的姿势来创建锚点,具体操作如用户互动部分所述。
姿态会出现变动,这表明ARCore或许会更新环境对象(比如几何平面和特征点)的位置。平面和点属于一种特殊的对象类型,被称作“可跟踪对象”。正如其名,ARCore会在时间推移中对这些对象进行跟踪。你可以把虚拟对象锚定到特定的可跟踪对象上,这样就能保证即便设备移动,虚拟对象和可跟踪对象之间的关系依然稳定。也就是说,要是你把一个虚拟的Android小雕像放在书桌上,就算ARCore之后调整了和书桌相关联的几何平面的姿态,Android小雕像看起来还是会在桌子上。
注意:为了减少CPU成本,建议尽量重复利用锚点,同时及时分离不再需要的锚点。
8、增强图像
借助增强图像功能,您能够打造出可对特定2D图像(像产品包装或者电影海报这类)做出响应的AR应用。当用户把相机对准特定图片时,就能启动AR体验。比如,他们可以将相机对准电影海报,使角色弹出并呈现出来。ARCore还能够追踪移动的图像,例如行驶中公交车侧面的广告牌。
您既可以通过离线编译图片来构建图片数据库,也能从设备端实时添加单张图片。完成注册后,ARCore 会对这些图像及其边界进行检测,并返回对应的姿态信息。
1、可在受支持的设备上自动和更新
2、这项服务能够解锁由ARCore构建的增强现实(AR)体验
3、自动更新功能能够保证带有 AR 功能的应用无需额外操作就能正常运行
4、完成这项服务后,大家就能以全新的方式一同购物、学习、创作新内容,以及体验精彩的世界了。
1、支持各种款式的,操作简单也方便。
2、能够在设备上增加AR图片效果,效果非常棒。
3、感知环境,能够精准的浮现现实的生活场景。
4、增强现实的感受,还能够增加自己的一些小创意。
5、增强你的现实感知,使数字世界与现实世界实现完美融合。
6、能够全方位兼顾场景需求,为用户打造别具一格的炫酷场景体验。
1、应用打开后出现黑屏或闪退是怎么回事?由于AR功能需要调用相机权限,应用在检查权限时可能会出现异常退出的情况。要是相机权限已经开启,那问题可能出在应用本身。
2、虚拟物体为何容易出现飘动现象,或是平面长时间无法被识别?这是因为AR技术需要现实环境具备一定的图案特征。当摄像头对准洁白的墙壁、纯色的地面这类缺乏特征的场景时,AR功能就难以正常运作,进而导致虚拟物体容易飘移。
3、为什么安装了ARCore,应用仍提示需要ARCore?因为设备上的ARCore版本低于应用所需的ARCore版本,所以应用仍然会提示。虽然ARCore没有独立的图形界面,但可以在系统设置的应用列表中找到它,查看其版本号或进行卸载操作。
4、为什么很多应用一开始需要扫描地面?这是因为AR技术需要一个水平面来稳定虚拟物体,而地面和桌面是较为理想的水平面,所以通常会先扫描地面。不过,将虚拟物体固定在地面并非唯一方法,还可以通过图像识别固定、空间定位固定或点击屏幕固定等方式实现。
5、ARCore频繁提示“已停止运行”且无法正常使用?部分机型在使用1.8版本时,ARCore会频繁出现“已停止运行”的提示。若遇到此问题,建议更换为稳定的1.7版本或其他适配版本的ARCore。
在ARCore软件里,能够通过对设备所处环境的理解,结合虚拟光线与内容进行渲染,使虚拟元素和现实场景更自然地融合;借助水平面来固定虚拟物体,从而获得更优的水平展示效果。