ARCore 是 Google 的增强现实构建平台。它利用不同的 API 让你的手机能够感知环境、了解现实世界并与其交互。从一年前的 Beta 版本发布,到如今的1.5 版本,ARCore 已经进入了快速应用的阶段。无论你想开发游戏、购物还是社交类应用,想知道 ARCore 如何运作?今天就手把手教你写代码。
ARCore 的运作原理
想要使用 ARCore 创造有虚拟元素的现实世界,需要依靠手机摄像头、传感器和算法这三者配合来完成。简单来说,ARCore 只做两件事:
运动追踪:ARCore 的运动跟踪技术使用手机摄像头标识兴趣点(称为特征点),并跟踪这些点随着时间变化的移动。将这些点的移动数据与手机惯性传感器的读数组合,即使手机一直移动,也能确定位置和屏幕方向。
理解融合:除了标识关键点外,ARCore 还会检测平坦的表面(例如桌子或地面),并估测周围区域的平均光照强度。 这些功能共同构成了 ARCore 对现实世界的理解。
借助 ARCore 对现实世界的理解,你能够在现实世界中,无缝融合进物体、注释或其他信息。不论是在咖啡桌放一只小猫,还是把艺术家注释信息融入画中。 运动跟踪意味着你可从任意角度查看,你可以静止观察,也可以边走边观察,即使你离开房间,当你回来后,小猫或注释还会在原地。
不可不知的三个主要功能
在使用 ARCore 之前,了解一些基本概念会有很大帮助。这些概念共同介绍了 ARCore 怎样呈现出一种逼真的体验,让虚拟内容看起来就像位于真实表面或者处于现实世界中的位置一样。
1. 运动跟踪:让手机可以理解和跟踪它相对于现实世界的位置。
当你的手机在现实世界中移动时,ARCore 通过并行测距与映射(或 COM)的过程,理解手机相对于周围世界的位置。 检测捕获的摄像头图像中的视觉差异特征(称为特征点),并使用这些点来计算其位置变化。 这些视觉信息将与设备惯性传感器(IMU) 的惯性测量结果结合,一起用于估测摄像头随着时间推移而相对于周围世界的姿态(位置和方向)。
通过将渲染 3D 内容的虚拟摄像头的姿态与 ARCore 提供的设备摄像头的姿态对齐,开发者能够从正确的透视角度渲染虚拟内容。 渲染的虚拟图像会叠加到摄像头获取的现实环境上,让虚拟和现实无缝融合。