用途
本技能用于指导 ARKit 环境感知相关的开发工作,在实现空间能力的同时,保留平台特有的会话模型、类型化空间数据、追踪质量、授权与隐私要求,以及渲染与扫描之间的衔接关系。
适用任务
资料列出的适用场景包括:世界追踪、平面检测、锚点、射线投射、特征点、场景深度、平滑场景深度、LiDAR 场景重建、网格、环境理解、世界地图、重定位,以及 visionOS 上的 ARKit 数据提供方。
对于相机控制、照片/视频捕获、校准相机深度或同步相机输出,技能建议改用 camera-capture-depth-workflow;对于 TrueDepth 面部几何或身体骨骼追踪,建议改用 arkit-face-body-tracking-workflow。
主要工作方式
技能采用单路径流程:
- 先对空间任务分类,例如世界追踪与追踪状态修复、平面/图像/物体/地理检测、射线投射与测量、场景深度、场景重建与网格分类、环境纹理、世界地图持久化与重定位、visionOS 授权与提供方生命周期。
- 应用 Apple 文档关口:阅读目标平台与能力的当前 ARKit 文档,说明所依赖的文档化行为,应用共享的空间数据隐私契约,并在配置前检查 supportsFrameSemantics、supportsSceneReconstruction、配置支持、提供方支持、授权与设备能力。
- 选择平台形态:iOS/iPadOS 上由应用配置并持有 ARSession 与相应 ARConfiguration;visionOS 上按文档申请 ARKitSession 授权并仅运行所需的数据提供方,不能把两种生命周期隐藏在通用的空间会话之后。
- 保留空间证据:以类型化方式保留锚点标识、变换、时间戳、追踪状态、世界原点、坐标约定、深度置信度、网格几何与分类、地图状态和提供方事件,并区分估计几何与实测真值。
- 定义呈现与扫描交接:适当使用 RealityKit 进行实体/场景呈现与交互;使用 RoomPlan 处理房间捕获与结构化房间流程;SceneKit 仅用于既有 SceneKit 渲染面或文档化需求;Metal 用于 RealityKit/Core Image 无法表达的高级渲染或计算。
- 返回结果应涵盖文档化行为、能力与授权证据、平台会话/提供方方案、坐标与数据生命周期、隐私策略、诊断、验证与交接。
输入与输出
输入包括:request(空间感知任务或待修复实现)、spatial_goal(world、planes、raycast、depth、mesh、environment、map、image、object、geo、visionos 或 repair)、platform_context(平台、部署目标、目标设备、渲染框架)、data_context(持久化、共享、服务器、协作或仅本地需求)。
输出包括:status(success、handoff 或 blocked)、path_type(primary 或 fallback)、以及文档化行为、能力/授权矩阵、生命周期、坐标、数据/隐私计划、诊断、验证与交接内容。
限制与停止条件
不得仅凭设备名称或系统版本推断 LiDAR、场景深度、重建、分类、地理追踪、图像/物体检测或提供方支持;不得将 iOS ARSession 与 visionOS ARKitSession 提供方包装成虚假的统一生命周期;不得把锚点变换、射线结果、特征点、深度样本、平面范围或重建网格视为精确真值;未经明确目的、同意/告知、留存与删除策略,不得持久化或传输世界地图、网格、房间几何、图像、位置锚点或旁观者衍生的空间数据;没有物理设备证据时,不得声称重定位、度量精度、遮挡质量、网格分类或设备性能;不得静默重置追踪或世界原点,应说明丢失的空间连续性。当授权、设备支持、追踪条件或所需物理验证不可用时,应停止。
相关交接
资料还列出多个可移交对象:面部与身体追踪、相机捕获与深度、图像帧识别与姿态分析、RealityKit/RoomPlan/SceneKit/Metal 渲染方案、Xcode 构建运行与隐私配置、Xcode 测试与设备测试计划,以及 Apple 文档检索。具体参考文件包括 references/world-tracking-depth-meshes-and-maps.md、references/visionos-providers-rendering-and-diagnostics.md 和共享的 apple-spatial-data-privacy-contract.md。