第一部分 基础知识 2
第1章 绘制图形 2
1.1代码编写 2
1.2 CPU与GPU交互 4
1.3状态准备 5
1.4坐标转换 5
1.5像素计算 6
1.6硬件显示 6
第2章 图形学基础 8
2.1笛卡儿坐标系 8
2.2坐标空间 11
2.3坐标系转换 12
2.4硬件设备 13
第3章 数学基础 16
3.1向量 16
3.2矩阵 20
3.2.1矩阵的定义 20
3.2.2基本运算 21
3.2.3运算律 24
3.2.4 矩阵的类型 27
第4章 增强现实基础 31
4.1概念 31
4.2结构组成 33
4.2.1系统结构 33
4.2.2关键要点 33
4.2.3 SLAM 34
4.3发展历史 36
4.4发展现状 39
4.4.1 AR硬件 39
4.4.2 AR软件 42
第二部分ARKit内容 47
第5章ARKit简介 47
5.1 ARKit概述 47
5.2 ARKit结构 49
5.3 ARKit使用 50
第6章 第一个AR应用 52
6.1 SceneKit 52
6.2 SpriteKit 56
6.3 Metal 60
第7章 世界跟踪 65
7.1跟踪概述 65
7.2模块结构 66
7.3运行跟踪 67
7.4 ARConfiguration类 69
7.4.1两者区别 71
7.4.2使用示例 73
7.4.3属性说明 74
7.5 ARSession类 75
7.5.1持有的硬件 75
7.5.2持有的数据 77
7.5.3具备的能力 79
7.5.4生命周期 80
7.5.5处理输出 82
7.5.6跟踪状态 84
7.5.7中断和出错 86
7.6 ARFrame类 88
7.6.1包含的内容 89
7.6.2获取方式 90
7.6.3属性和方法说明 91
7.7 ARAnchor类 93
7.8 ARCamera类 93
7.9实例演示 98
7.9.1新建项目 98
7.9.2开始编码 99
7.9.3运行效果 105
7.9.4出错原因 106
第8章 场景理解 108
8.1平面检测 108
8.2 ARPointCloud类 109
8.3 ARPlaneAnchor类 110
8.4 hit-test 111
8.4.1概述 111
8.4.2功能使用 114
8.4.3 ARHitTestResult类 114
8.5 ARLightEstimate类 116
8.6实例 116
8.6.1实例一 117
8.6.2实例二 125
第9章 几何渲染 130
9.1 SceneKit 130
9.1.1 SceneKit概述 130
9.1.2 ARSCNView 133
9.1.3 ARSCNViewDelegate 135
9.2 SpriteKit 136
9.2.1 SpriteKit概述 136
9.2.2 ARSKView 137
9.2.3 ARSKViewDelegate 138
9.3实例 139
9.3.1实例一 139
9.3.2实例二 150
第10章 人脸跟踪 155
10.1概述 155
10.2模块使用 156
10.3各类说明 160
第11章 游戏 165
11.1数字排列 165
11.1.1新建项目 166
11.1.2添加视图 166
11.1.3添加数字 168
11.1.4点击数字 169
11.1.5调用加载 171
11.1.6状态处理 172
11.1.7运行效果 174
11.2元素操作 175
11.2.1新建项目 175
11.2.2添加视图 175
11.2.3添加手势 177
11.2.4调用加载 182
11.2.5添加平面 183
11.2.6运行效果 185
11.3捕捉萌宠 187
11.3.1新建项目 187
11.3.2添加元素 187
11.3.3添加音效 191
11.3.4添加模型 191
11.3.5碰撞逻辑 194
11.3.6粒子效果 195
11.3.7调用加载 195
11.3.8提示信息 196
11.3.9运行效果 198
第三部分ARKit在Unity中的应用 203
第12章Unity环境 203
12.1准备环境 203
12.2环境说明 204
12.3 Hello Unity 207
第13章 使用ARKit 209
13.1接入插件 209
13.2远程调试 210
13.3结构说明 214
13.4使用操作 215
第14章 实例演示 218
14.1管理跟踪 218
14.2小游戏 223
第四部分 其他SDK的使用 230
第15章EasyAR SDK 230
15.1开发环境准备 230
15.2 EasyAR Basic功能 232
15.2.1图片检测 232
15.2.2播放视频 240
15.2.3跟踪多个目标 245
15.2.4二维码检测 248
15.2.5云识别 252
15.3 EasyAR Pro功能 257
15.3.1识别3D物体 258
15.3.2录屏 263
15.3.3 SLAM 267
第16章Vuforia SDK 272
16.1开发环境准备 272
16.2 Image Targets 276
16.3 Cylinder Targets 278
16.4 Multi Targets 280
16.5 User Defined Targets 281
16.6 Cloud Recognition 282
16.7 Virtual Buttons 283
16.8 Text Recognition 284
16.9 VuMark 285
16.10 Object Recognition 285