Location-Based AR Experience 是一项用于设计“锚定到真实地点”的增强现实体验的技能,结合 GPS、计算机视觉与空间计算,帮助构建位置型 AR 应用。资料给出的核心能力包括:地理空间锚定(GPS、地理围栏、坐标系统)、视觉定位(SLAM、图像识别、云端锚点)、内容放置(世界尺度 AR、遮挡、持久化),以及移动 AR 平台(ARKit、ARCore、WebXR)。
一、用途与体验类型 该技能面向按定位精度划分的三类体验:GPS-Only 约 10 米精度,适合城市尺度导航游戏;Hybrid 约 1 米精度,适合建筑尺度体验与 POI 叠加;Vision-Based 约 1 厘米精度,适合房间尺度精准装置。不同体验的精度要求不同:城市导航 5–15 米可用 GPS;POI 发现 3–5 米需 GPS + Wi-Fi;建筑入口 1–2 米需 GPS + 视觉;室内导航 0.5–1 米需视觉 + 信标;物体放置 1–10 厘米需纯视觉 SLAM。
二、主要能力
- 地理空间系统:提供 GeoCoordinate(WGS84 经纬度、海拔)与 ARWorldCoordinate(以米为单位的本地坐标,x 向东、y 向上、z 向北);包含 Haversine 距离计算、方位角计算,以及通过简化平面投影把地理坐标转换为本地 AR 坐标的示例。
- 地理围栏:Geofence 支持圆形与多边形形状,具备进入(on_enter)、离开(on_exit)、停留(on_dwell,含 dwell_time,默认 30 秒)回调;GeofenceManager 管理多个围栏与活动状态、进入时间,并在位置更新时触发相应事件。
- 视觉定位:给出 ARCore Geospatial API 的 Kotlin 示例,包括在地球上按经纬度与朝向创建锚点前的跟踪状态与水平精度检查(精度大于 10 米不创建),以及通过 resolveAnchorOnTerrainAsync 解析地形锚点(自动确定海拔)。同时给出 iOS/Swift 使用 ARKit Cloud Anchors 的云端锚点保存与解析示例,用于持久化。
- 内容管理:ARContent 数据模型涵盖内容类型(3D 模型、图像、视频、音频、文本、交互)、位置、资源 URL、缩放、朝向、高度偏移、可见距离范围、可见时段、可交互性与触发半径、标题、描述、标签;ARExperience 组合多个内容,定义中心与半径、是否按顺序探索、起始内容,并提供按用户位置与当前小时过滤可见内容的方法。
- 空间数据加载:SpatialContentLoader 以瓦片(tile_size 0.001,赤道约 111 米)为单位缓存内容,位置更新时加载周围 3×3 瓦片、维护已加载瓦片并提及卸载远处瓦片(保留 5×5)的清理逻辑,提供按半径获取附近缓存内容的方法。
- 用户体验模式:ARWayfinder 设置导航目标、计算路径,并输出方向指示数据(相对方位角、距离、距离文本、是否在视野内);内容发现按距离分层:100 米仅地图指示、50 米出现浮动标签、20 米标签放大并显示缩略图、5 米触发完整 AR 内容。InteractionZone 定义感知半径 100 米、预览半径 50 米、激活半径 20 米、交互半径 5 米,并据此返回 hidden/aware/preview/active/interactive 状态。
- 性能优化:提及 LOD(Level of Detail)管理器按距离管理内容细节。
三、使用方式 资料以代码示例与数据模型呈现,未提供具体的安装命令或集成步骤,安装与接入细节暂未提供。开发者可依据示例在 Android/Kotlin(ARCore)、iOS/Swift(ARKit)等平台上参照实现。
四、适用场景 适用于城市导航、POI 发现、建筑入口定位、室内导航、房间级精准物体放置等位置型 AR 体验的设计与开发。
五、限制 资料未说明具体的收费、价格、平台版本要求或效果指标,这些内容暂未提供;不同体验类型必须匹配合适的定位方式与精度,否则可能影响锚定与叠加效果。