★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行业做出巨大贡献的人,正是他们的不断努力,才使这个世界变得更加美好。
这本书的语言风格对我有着莫大的吸引力,我更偏爱那种充满激情、富有个人色彩的叙述方式,而不是那种冷冰冰、教科书式的陈述。我希望作者能够分享他自己在踩坑过程中那些“豁然开朗”的瞬间,那些不经意的技巧和经验的总结,这些“软知识”往往比硬核的技术点本身更有价值。如果作者能用一种讲述故事的方式来串联起各个技术模块,让读者感受到这门技术背后的逻辑和美感,而不是被一堆陌生的术语淹没,那么阅读体验将会大大提升。我非常期待书中能有一些对未来技术走向的预测和讨论,比如新的硬件特性将如何影响现有的开发范式,或者哪些是当前技术栈的局限性,并鼓励读者去思考和创新。一本真正伟大的实战书,应该能激发读者的好奇心和探索欲,让我不仅仅是成为一个代码的搬运工,而是成为一个富有思考的构建者。
评分坦白说,我购买技术书籍通常带着一种“找菜谱”的心态,我需要的是清晰、可复现的步骤来解决我眼前迫切的问题。最近我们团队正在尝试一个复杂的增强现实项目,涉及高精度的物体识别和场景锚定,现有的文档资料零散且缺乏系统性,让我头疼不已。我非常期待这本书能提供一套完整的、可供参考的工程化流程:从项目初始化、资源管理、交互设计规范,到最终的打包发布。如果书中能包含一些成熟的开源项目源码分析,并清晰地指出哪些部分是框架层面的封装,哪些是我需要自己实现或定制的逻辑,那对我来说简直是救命稻草。我需要的是那种“拿来即用”的模板和组件,能够让我快速搭建起项目的骨架,而不是花费大量时间去重新发明轮子。如果这本书能把这些流程图、伪代码和关键配置项都交代得明明白白,那它就成功抓住了我们这类一线开发人员的痛点。
评分作为一名资深的软件架构师,我对于技术书籍的选择向来是极其挑剔的,尤其是在快速迭代的前沿技术领域,一本过时的书只会误导人。我更看重的是作者对技术趋势的洞察力和对底层架构的理解深度。这本书如果能不仅仅停留在API的讲解,而是能深入剖析其背后的渲染管线、数据流向以及性能优化的关键点,那才算得上是一本真正有价值的参考书。我特别关注它在处理多线程并发访问底层硬件数据时的同步机制设计,这往往是决定应用稳定性和响应速度的生命线。此外,对于跨平台兼容性或与现有企业级系统的集成方案,如果能提供一些前瞻性的思考和实践案例,那就更完美了。我希望它能提供一些反模式(Anti-Patterns)的讨论,明确指出哪些做法在实际项目中是“坑”,并给出规避的策略,而不是一味地歌颂技术的美好。一本好的实战书,应该包含血泪教训和实战智慧的结晶。
评分我是一个纯粹的视觉学习者,对于枯燥的文字描述非常不耐烦。一本好的技术书,其图示的质量往往能决定我是否能坚持读下去。我希望这本书中的插图不仅仅是简单的流程图,而是能够用精美的、高分辨率的架构图来描绘复杂的空间关系和数据流向。例如,在解释设备坐标系如何精确地与世界坐标系对齐时,我需要看到清晰的三维透视图和坐标轴的变换示意图,最好能用不同颜色来区分不同参考系。如果它能提供一些互动式的截图或者动图说明关键的操作步骤,那就更棒了。对于代码示例部分,我希望注释详尽且富有上下文,不仅仅是功能性的解释,更要体现作者在编写这段代码时的设计意图。如果能配上Github上的配套代码库,并且保证代码库的更新频率和书本内容同步,那么这本书的价值将得到几何级的提升,因为它提供了一种立体的、多维度的学习体验。
评分这本书的装帧设计真是让人眼前一亮,那种沉甸甸的质感,捧在手里就感觉里面蕴含了许多硬核的知识,封面那种简洁而富有科技感的排版,也让我对内容充满了期待。我本来就对移动端的图形学和传感器数据融合很感兴趣,一直想找一本能从底层原理讲起,又兼顾实际项目落地的书籍来深入学习。市面上很多同类书籍要么过于理论化,堆砌公式和算法描述,读起来晦涩难懂,要么就是浅尝辄止,只停留在API的调用层面,真正遇到复杂场景的解决方案却寥寥无几。我希望这本书能提供一种“由浅入深,知其所以然”的学习路径,不仅仅是告诉我“怎么做”,更重要的是解释“为什么这么做”,比如在处理设备姿态估计时,不同的滤波算法在不同环境下的优劣权衡,或者在构建稳定世界坐标系时,那些隐藏在框架背后的数学逻辑。如果这本书能在这些方面做到深入浅出,那它绝对是值得我花费时间去啃读的宝藏。我对它的内容结构非常好奇,期待它能像一位经验丰富的导师,引导我一步步跨越从理论到实践的鸿沟。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有