用途:在 iOS 上结合 RealityKit(渲染)与 ARKit(世界追踪)构建增强现实体验,覆盖 RealityView 基础、实体管理、射线检测、场景理解与基于手势的交互,目标 Swift 6.2 / iOS 26+。
主要能力:用 RealityView 承载 RealityKit 内容,iOS 上通过 RealityViewCameraContent 借助设备相机渲染 AR;用 Entity / ModelEntity / AnchorEntity 组织场景对象;异步加载 USDZ 模型或用 generateBox、generateSphere、generatePlane 程序化生成网格;用 ECS 组件(PhysicsBodyComponent、CollisionComponent、InputTargetComponent)赋予行为与交互;用 AnchorEntity 将内容锚定到水平/垂直平面或世界坐标;配合 SpatialTapGesture 与 DragGesture 实现点击选中与拖拽;订阅 SceneEvents.Update 做逐帧逻辑。
使用方式:Info.plist 添加 NSCameraUsageDescription;基础 AR 无需额外能力。需先检查设备支持:guard ARWorldTrackingConfiguration.isSupported else { showUnsupportedDeviceMessage(); return }。AR 功能需 A9 及以上芯片。在 RealityView 的 make 闭包中创建实体,在 update 闭包中修改已有实体(按 name 查找);大型模型用 try? await ModelEntity(named:) 异步加载。
限制与注意:不要在 update 闭包中创建新实体,否则每次状态变化会重复添加;交互实体必须同时具备 CollisionComponent 与 InputTargetComponent,否则手势穿透;碰撞形状应与视觉尺寸一致;需处理相机权限被拒时的回退界面。visionOS 使用 ARKitSession、WorldTrackingProvider、PlaneDetectionProvider 等不同 API,这些类型在 iOS 上不可用;iOS 上 RealityKit 通过 RealityViewCameraContent 自动处理世界追踪。具体价格、平台收费等信息暂未提供。