ARCore是谷歌推出的增强现实应用程序,同时也是一项名为AR的技术。该软件借助红外扫描与系统硬件,能将数字对象叠加到现实环境中;其配备的增强现实专用SDK,可显著改变人们的工作与娱乐模式,让原本仅存于虚拟空间的事物变得近在咫尺。此外,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 调整了书桌对应的几何平面的姿态,这个 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没有独立的图形界面,但可以在系统设置的应用列表里找到它,从而查看版本号或进行卸载操作。
4、为什么很多应用一开始要扫描地面?这是因为AR技术需要一个水平面来稳定虚拟物体,而地面和桌面这类平面是较为理想的选择,所以通常会先扫描地面。不过,将虚拟物体固定在地面并非唯一方法,还能通过图像识别固定、空间定位固定或点击屏幕固定等方式实现。
5、ARCore频繁提示“已停止运行”且无法正常使用?部分机型在安装1.8版本后,ARCore会频繁出现“已停止运行”的提示。若遇到此问题,建议更换为稳定的1.7版本或其他合适版本的ARCore。
在ARCore软件里,能够在理解设备所处环境的同时,依据虚拟的光线和内容进行渲染,使虚拟内容与现实场景更自然地融合;通过识别水平面来固定虚拟物体,从而获得更理想的放置效果。