发表于2024-11-21
★AR是颠覆传统的交互革命,而ARKit能让数亿iOS设备瞬间“变身”AR设备,学会ARKit将让你抓住AR红利。
★ARKit简单、易学,效果超赞。本书能让你快速了解AR的各项知识,从零开始全面掌握ARKit,快速开始动手制作自己的AR应用。
本书主要介绍ARKit的原生API,分别从世界跟踪、场景理解、几何渲染、人脸跟踪4个方面详细叙述ARKit的功能,以及在Unity中接入ARKit的方法。并且在开始部分添加了使用ARKit所必需的一些基础知识,为了减少接受难度,本书只会叙述用到的知识点。本书的最后一部分介绍了EasyAR和Vuforia这两款AR SDK的功能和使用方法。
本书适合对ARKit感兴趣的iOS开发者,以及其他想要了解ARKit原生API的读者阅读。
员凯,iOS开发工程师,拥有多年iOS开发经验,经过PMP项目管理认证,专注于AR开发方面的研究,曾就职于“世界500强企业”中国电信和知名互联网金融公司,分别担任项目经理、iOS团队leader。
第一部分 基础知识
第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内容
第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中的应用
第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的使用
第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
1966年,计算机图形学之父伊凡·苏泽兰开始研制一套叫作“达摩克利斯之剑”(The Sword of Damocles)的系统。自此,第一个VR设备系统诞生。
1990年,波音公司的研究者Thomas Caudell首次提出了AR一词。
2017年,苹果公司在2017 WWDC开发者大会上发布了自家首个AR SDK——ARKit。随后,Google也发布了一款AR SDK——ARCore。
感谢这些让世界变得更美好的人。
本书包含什么内容
现在市面上讲述与AR相关的开发基本以Unity、Unreal Engine调用第三方SDK为主,对于移动端原生开发的介绍极为罕见,如Apple的ARKit,几乎没有一本书籍来详细讲述它的相关知识。网上关于ARKit的介绍大部分以教程为主,并没有详细讲述它的内容及ARKit背后所包含的知识,这就导致大部分开发者看的时候觉得很新奇,使用的时候却很困惑,总有一知半解的感觉。而本书详细讲述了ARKit各方面的内容,并且增加了使用ARKit所必需的一些基础知识,有利于读者理解ARKit的内容。
本书分四大部分进行介绍。
第一部分:基础知识,包括图形学、数学、增强现实三个方面的内容,但只会讲述用到的内容,所以阅读起来会轻松一些。
第二部分:ARKit内容,分别从世界跟踪、场景理解、几何渲染、人脸跟踪4个方面来叙述,最后给出了应用实例。
第三部分:ARKit在Unity中的应用,讲述了在Unity中如何接入并使用ARKit的各项功能。
第四部分:其他SDK的使用,介绍了EasyAR和Vuforia两个AR SDK具有的功能及使用方法。
本书为谁而写
书中涵盖了ARKit几乎所有的内容,但在叙述时并没有引入太多的专业术语,而是以通俗易懂的语言讲解,因而显得不那么“严谨”。在叙述API时,使用了Objective-C语言来编写代码,而没有使用Swift语言,以便尽可能照顾到大部分开发者。所以,对于iOS开发者而言,本书具有很大的参考价值。当然,对于其他想学习AR开发或者想了解ARKit原生API的开发者来说,本书也值得阅读。
和其他书有所不同的是,在阅读本书时,书中包含的四大部分都可以独立阅读,不分先后顺序,但是在阅读某一部分内容时,建议按照既有的顺序进行阅读,因为每一部分内容都是以循序渐进的形式来叙述的。
支持
在编写本书之前,作者对AR也是零基础,但出于对AR有着很大的兴趣,就开始一步步学习,本书的内容才得以慢慢形成。在这其中,虽然花费了大量的时间来参考相关的书籍和资料,但受限于自身水平和时间因素,错误在所难免。读者在阅读过程中发现有任何错误信息,可以发至作者个人网站(http://www.nethanhan.com)。我们将竭力解决所有提出的问题,并向您表达谢意。
当然,作者也会持续修改书中可能出现的错误信息,并在个人网站中登出。书中包含的所有源码及例子都会放置在作者的GitHub(https://github.com/hanhan)上,如有需要,可以随时下载。如果在阅读过程中有任何问题,则可以通过作者的个人邮箱(nethanhan@163.com)取得联系。
致谢
本书附带的实例中的所有图片资源均来自赵静,她是一位优秀的UI设计师,同时也是我最好的朋友,在此向她致以最诚挚的谢意!也要感谢我身边的小伙伴,正是有了他们的陪伴,才有了本书的持续输出。还要感谢电子工业出版社的田志远编辑,感谢他在本书编写过程中不断给予我支持和鼓励,而且还提出了很多建议。
当然,最重要的是,感谢那些为AR/VR行业做出巨大贡献的人,正是他们的不断努力,才使这个世界变得更加美好。
ARKit开发实战 下载 mobi pdf epub txt 电子书 格式 2024
ARKit开发实战 下载 mobi epub pdf 电子书ARKit开发实战 mobi epub pdf txt 电子书 格式下载 2024