# 写给 AR 开发者

## 先按空间尺度理解 AR 项目

AR 项目的技术难度首先由空间尺度决定：

| 尺度 | 典型场景 | 主要定位方式 |
| --- | --- | --- |
| **Table-scale** | 桌面产品展示、桌游、模型交互 | 设备 SLAM |
| **Room-scale** | 单个房间、展台、小型体验区 | 设备 SLAM |
| **Building-scale** | 商场、博物馆、办公楼、工厂 | SLAM + VPS |
| **Campus-scale** | 园区、景区、大学、体育场群 | SLAM + VPS |
| **City-scale** | 街区和城市公共空间 | 分区地图、SLAM + VPS |

手机、平板和 AR 眼镜上的 SLAM 能以 30–60 FPS 等高频率连续估计设备运动，在桌面级和房间级空间中通常足够稳定。进入建筑级或园区级空间后，每一帧产生的微小误差会随行走距离不断累积，最终表现为虚拟内容漂移、方向偏转或楼层与区域判断错误。

VPS 的作用不是替代 SLAM，而是持续把 SLAM 拉回空间地图中的正确位置。SLAM 负责高频、低延迟的连续跟踪；VPS 以较低频率或在系统检测到漂移风险时提供全局位置校正。两者协同，才能让大空间 AR 同时具备流畅性与长期稳定性。

[![人在园区级空间中沿黄色实线路径行走；黄色虚线相机视椎体保持相同比例，整体由近及远逐渐缩小，间距也逐渐变密](/media/docs/ar-slam-vps-collaboration-v22.png)](/media/docs/ar-slam-vps-collaboration-v22.png)

*贴在地面上并沿道路透视延伸至远处的黄色实线表示用户的行走路径，沿线排列的黄色虚线三维相机视椎体表示设备端 SLAM 正在进行高频连续跟踪。每个视椎体严格由 5 个顶点定义：顶点是靠近用户的相机光心并位于黄色路线上，另外 4 个顶点组成位于相机前方的矩形图像平面；该平面的法线与路线在当前位置的前进方向一致。光心到底面的长度、底面宽度和底面高度使用同一个深度缩放比例，因此视椎体由近及远只会等比例缩小，不会变扁或变细长；整体呈现近大远小、近疏远密的透视关系。三个青色人物残影表示同一用户在三个不同时刻的位置。从手机连接到环境特征点的青色射线表示一次 VPS 全局定位校正。实际系统可以按固定时间间隔运行 VPS，也可以在进入新区域、跟踪质量下降或漂移风险升高时额外触发。*

## 光照变化是第二个核心挑战

视觉定位依赖相机画面。理论上，建图与定位时的光照越接近，匹配越容易；真实项目却很难保持这种条件：

- 博物馆和展览可能使用很暗或方向性很强的灯光。
- 室外项目会经历晴天、阴天、雨雪、昼夜和季节变化。
- 商场、体育场和活动空间会根据营业时段改变照明。

01Spatial 的定位技术专门面向跨光照条件优化，能够在建图与使用环境存在明显差异时保持稳定定位。项目验收仍应覆盖计划上线的主要设备、区域、方向和光照条件，而不是只测试建图当天的画面。

## 从定位能力到可运营的 AR 产品

01Spatial 不只提供一个 VPS 接口。AR 开发者可以直接使用空间地图、定位 API、WebXR、App Clip、微信小程序或 Unity 模板构建客户端；空间运营方则可以在 Space Studio 中维护内容，无需每次更新都重新发布完整 App：

- 在 **Map Panel** 查看地图、坐标系和定位结果。
- 在 **Content Panel** 添加基础三维对象，或导入复杂的 GLB / glTF 模型。
- 通过实时同步把运营方发布的内容更新到 AR 客户端。

例如，商场运营方可以在后台修改促销信息，并把新内容同步到门店对应位置的虚拟广告牌；开发团队只需定义内容类型、交互方式和发布规则，不必为每次活动重新制作与上架客户端。

## 推荐的开发顺序

1. 先构建一张覆盖目标区域的空间地图。
2. 在 Space Studio 中用真实设备和多种光照完成定位测试。
3. 使用定位 API 或合适的客户端模板建立 SLAM 与 VPS 的协同策略。
4. 定义内容结构、权限和实时同步方式。
5. 对长路线、区域切换、遮挡、弱光和网络波动进行完整验收。
