利用 ARCore Geospatial API 打造基于位置的全球沉浸式 AR 体验

平台专用指南

借助 ARCore Geospatial API,你可以远程将内容附加到 Google 街景覆盖的任何区域,打造全球范围的 AR 体验。它使用设备传感器和 GPS 数据来检测设备的环境,然后将环境中可识别的部分与 Google 视觉定位系统 (VPS) 提供的定位模型进行匹配,以确定用户设备的准确位置。该 API 还负责将用户的本地坐标与 VPS 中的地理坐标合并,以便您在单个坐标系中工作。

使用 VPS 进行全球本地化

VPS 的基础是 Google 地图中的街景图像,这些图像在全球各地拍摄了超过 15 年。深度神经网络能够识别并描述图像中那些在较长时间内易于识别的部分。然后将这些部分组合到数百亿张图像中,计算出全球环境的 3D 点云。此本地化模型由数万亿个点组成,几乎覆盖所有国家/地区,未来还会覆盖更多国家/地区。

当用户的设备向 Geospatial API 发出请求时,神经网络会处理这些像素,以查找用户环境中可识别的部分,并将其与 VPS 定位模型进行匹配。然后,计算机视觉算法会计算设备的位置和方向,从而提供比以前单纯使用 GPS 所能达到的位置更准确的位置。

使用 Geospatial API 放置锚点

放置锚点时,其他 ARCore API(例如 ARCore Cloud Anchor API)也会使用图像地图来确定设备的姿态。不过,由这些 API 创建的图像映射是本地的,因为它们明确需要映射空间。

Geospatial API 按照 WGS84 规范提供锚点的水平(纬度和经度)位置和垂直(海拔)位置。您可以将地理空间锚点放置在世界上几乎任何地方的给定纬度、经度和海拔高度,而无需手动绘制空间。

地理空间锚点类型

有三种类型的地理空间锚点可用于将内容附加到真实位置。WGS84 锚点代表相对于 WGS84 椭球体的给定纬度、经度和海拔位置。地形锚点表示位于给定纬度、经度和相对于地面或地面的高度的位置。屋顶锚点代表给定海拔、经度和相对于建筑物顶部海拔的位置。如需了解详情,请参阅开发者指南

使用 Geospatial API 进行开发的用例

您可以通过以下几种方式在自己的项目中使用 Geospatial API。

引导用户访问特定营业地点

GPS 非常适合构建基于位置的体验,但是当您需要打造精确而精确的 AR 体验时,准确性可能会降低。有了 Geospatial API,你再也不用担心虚拟物体四处走动了。您可以明确绘制景点,以附加内容并对其进行可靠的本地化,以便用户能够在人口密集的城市区域寻找车辆,或在繁忙的场地寻找路线。

打造基于位置的 AR 体验

您可以使用 Geospatial API 打造富有吸引力的用户体验,提供实用性和愉悦感,而无需构建和维护多个位置的地图。让您的用户沉浸于一个无限可能的虚拟世界。

游戏和自我表达

借助 Geospatial API,您的用户可以将地球变成一个挥洒创意的画布。例如,借助“气球爆破”,用户可以将气球作为目标放置到现实世界中,并尝试使用能够对现实世界空间中的距离做出反应的物理运动球来击破这些气球。附近的用户可以通过简单的 Firebase 实现加入体验并弹出相同的提示框。借助 Pocket Garden,用户可以用色彩缤纷的 AR 社区花园装饰他们的街区,大规模地在现实世界中准确放置种子,还可以种植藤蔓、蓬松的多肉植物等。Balloon Pop 和 Pocket Garden 都是开源的,你可尽情发挥自己的创造力。

设备兼容性

少数支持 ARCore 的设备不支持 Geospatial API。这些设备会在支持 ARCore 的设备页面上标明。

后续步骤