目录 基础篇 第1章ARKit基础 1.1增强现实技术概述 1.1.1AR概述 1.1.2AR技术 1.1.3AR技术应用 1.2AR技术原理 1.2.1位置追踪 1.2.2视觉校准 1.2.3惯性校准 1.2.43D重建 1.3ARKit概述 1.3.1什么是ARKit 1.3.2ARKit功能 1.3.3ARKit支持的设备 1.3.4ARKit的不足 1.4ARKit原理 1.4.1ARKit三大基础能力 1.4.2ARSession 1.4.3ARAnchor 1.4.4ARFrame 1.5RealityKit概述 1.5.1RealityKit主要功能 1.5.2RealityKit体系架构 1.6ARKit初体验 1.7调试AR应用 第2章RealityKit基础 2.1运动跟踪原理 2.1.1ARKit坐标系 2.1.2ARKit运动跟踪分类 2.1.3ARKit运动跟踪 2.1.4ARKit使用运动跟踪的注意事项 2.2ARSession管理 2.2.1创建ARSession 2.2.2ARConfiguration 2.2.3设备可用性检查和权限申请 2.2.4ARSession生命周期管理与跟踪质量 2.3ARSession执行流 2.4平面检测 2.5射线检测 2.5.1ARKit中的射线检测 2.5.2射线检测实例 2.6手势检测 2.6.1手势检测定义 2.6.2ARKit中的手势检测 2.7ARCoaching 2.8RealityKit中的事件系统 2.9LiDAR传感器 2.9.1场景几何 2.9.2虚拟物体放置 2.9.3动作捕捉与人形遮挡 2.9.4场景仿真 2.10Depth API 2.11AR截屏 2.12基于位置的AR 2.12.1技术基础 2.12.2实践 第3章渲染基础 3.1材质纹理 3.2网格 3.3模型 3.4动画 3.5RealityKit渲染 3.5.1立方体贴图 3.5.2PBR渲染 3.5.3清漆贴图 功能技术篇 第4章图像与物体检测跟踪 4.12D图像检测跟踪 4.1.1图像检测跟踪基本操作 4.1.2检测图像使用的配置 4.1.3图像跟踪优化 4.23D物体检测跟踪 4.2.1获取参考物体空间特征信息 4.2.2扫描获取物体空间特征信息的注意事项 4.2.33D物体识别跟踪基本操作 第5章人脸检测跟踪 5.1人脸检测基础 5.1.1人脸检测概念 5.1.2人脸检测技术基础 5.2人脸检测配置 5.2.1人脸网格 5.2.2挂载虚拟元素 5.3BlendShapes 5.3.1BlendShapes基础 5.3.2BlendShapes技术原理 5.3.3BlendShapes使用 5.4同时开启前后摄像头 第6章光影特效 6.1光照 6.1.1光源 6.1.2光与材质的交互 6.1.3光照模型 6.1.4RealityKit中的光源 6.2光照估计 6.2.1光照一致性 6.2.2ARKit中的光照估计 6.3环境反射 6.3.1环境探头 6.3.2环境反射操作 6.3.3性能优化 第7章肢体动作捕捉与人形遮挡 7.1ARBodyTrackingConfiguration配置 7.22D人体姿态估计 7.2.1人体骨骼关节点检测 7.2.2使用2D人体姿态估计 7.33D人体姿态估计 7.3.13D人体姿态估计基础 7.3.23D人体姿态估计实例 7.4人形遮挡 7.4.1人形遮挡原理 7.4.2人形遮挡实现 7.5人形提取 第8章持久化存储与多人共享 8.1AR锚点 8.1.1锚点概述 8.1.2使用锚点 8.1.3使用锚点的注意事项 8.2持久化存储与共享体验技术基础 8.2.1initialWorldMap属性 8.2.2isCollaborationEnabled属性 8.3ARWorldMap 8.3.1ARWorldMap概述 8.3.2存储与加载ARWorldMap 8.3.3通过网络传输ARWorldMap 8.4协作Session 8.4.1协作Session概述 8.4.2协作Session实例 8.4.3协作Session使用事项 8.5RealityKit同步服务 8.5.1RealityKit同步服务机制 8.5.2使用RealityKit同步服务事项 第9章物理模拟 9.1物理引擎 9.2RealityKit中的物理组件 9.2.1PhysicsBodyComponent组件 9.2.2PhysicsMotionComponent组件 9.2.3CollisionComponent组件 9.3物理模拟实例 9.4触发器与触发域 9.5自定义物理实体类 第10章Reality Composer 10.1Reality Composer主要功能 10.2内容操作 10.2.1锚点选择 10.2.2控制场景锚定类型 10.2.3添加资源 10.2.4修改资源 10.2.5操作资源 10.3与AR应用整合 10.3.1利用Xcode自动生成的代码加载场景 10.3.2手动加载场景 10.4行为交互 10.4.1触发器 10.4.2动作 10.5代码交互 10.5.1场景对象操作 10.5.2添加程序性资源 10.6导出USDZ 第11章3D文字与音视频 11.13D文字 11.23D音频 11.2.13D声场原理 11.2.2RealityKit中的3D音效 11.33D视频 第12章USDZ与AR Quick Look 12.1USDZ概述 12.1.1USD 12.1.2USDZ 12.2USDZ文件转换 12.2.1USDZ Tools 12.2.2Reality Converter 12.2.3USD Unity插件 12.3AR Quick Look概述 12.4App应用中嵌入AR Quick Look 12.5Web网页中嵌入AR Quick Look 12.5.1选择支付样式 12.5.2显示自定义文字按钮文件 12.5.3自定义显示文字 12.5.4自定义显示条目 12.5.5自定义条目高度 12.5.6事件处理 12.6使用AR Quick Look的注意事项 提高篇 第13章设计原则 13.1移动AR带来的挑战 13.1.1用户必须移动 13.1.2要求手持设备 13.1.3要求必须将手机放在脸前 13.1.4操作手势 13.1.5用户必须打开App 13.2移动AR设计准则 13.2.1有用或有趣 13.2.2虚拟和真实的混合必须有意义 13.2.3移动限制 13.2.4心理预期与维度转换 13.2.5环境影响 13.2.6视觉效果 13.2.7UI设计 13.2.8沉浸式交互 13.3移动AR设计指南 13.3.1环境 13.3.2用户细节 13.3.3虚拟内容 13.3.4交互 13.3.5视觉设计 13.3.6真实感 第14章性能优化 14.1移动平台性能优化基础 14.1.1影响性能的主要因素 14.1.2AR常用调试方法 14.2移动设备性能优化 14.3性能优化的一般流程 14.4RealityKit优化 14.4.1降低CPU使用 14.4.2降低GPU使用 14.5RealityKit渲染测试 14.6性能优化与设备兼容性 参考文献