ARKit开发实战

ARKit开发实战 pdf epub mobi txt 电子书 下载 2025

员凯 著
图书标签:
  • ARKit
  • AR开发
  • iOS开发
  • Swift
  • 增强现实
  • 移动开发
  • 苹果生态
  • 游戏开发
  • 计算机视觉
  • 3D图形
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 电子工业出版社
ISBN:9787121334702
版次:1
商品编码:12308498
品牌:Broadview
包装:平装
开本:16开
出版时间:2018-01-01
用纸:胶版纸
页数:300
正文语种:中文

具体描述

产品特色

编辑推荐

适读人群 :ios开发者,AR开发者

★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开发实战》:开启你的增强现实创造之旅 在数字化浪潮席卷全球的今天,增强现实(AR)技术正以前所未有的速度渗透到我们生活的方方面面,从沉浸式的游戏体验、精密的工业设计,到生动的教育应用和引人入胜的营销互动,AR正悄然重塑着我们感知世界和与现实交互的方式。如果你渴望站在技术的最前沿,亲手打造引人注目的AR应用,那么《ARKit开发实战》将是你不可或缺的得力助手。 本书并非仅仅是一本技术手册,更是一段深入探索AR奇妙世界的旅程。我们旨在为你提供一套系统、全面且高度实践化的AR开发指南,让你从零基础到精通,自信地驾驭Apple的ARKit框架,为iOS平台注入强大的增强现实能力。我们深知,掌握一项前沿技术需要理论与实践的完美结合,因此,本书在结构设计上力求循序渐进,内容编排上注重细节打磨,旨在帮助你克服学习过程中的每一个障碍,最终实现你的AR创意。 本书的核心价值与特色: 体系化知识构建: 我们从ARKit的基础概念入手,层层递进,逐步深入到核心功能模块和高级开发技巧。无论你是初次接触AR开发,还是希望深化现有知识体系,本书都能提供清晰、严谨的学习路径。你将系统地了解ARKit如何理解和感知真实世界,包括平面检测、图像识别、物体跟踪、人脸跟踪等关键技术。 深度实践导向: “实战”二字是本书的灵魂。我们不仅仅停留在概念讲解,而是通过大量精心设计的项目案例,带你一步步完成实际的AR应用开发。从简单的AR物体摆放到复杂的AR游戏场景,再到与真实世界物体进行交互的应用,每一个案例都经过仔细打磨,力求贴近实际开发需求,让你在解决问题的过程中掌握核心技术。 权威框架详解: ARKit作为Apple官方提供的AR开发框架,其稳定性和性能表现备受认可。本书将对ARKit的每一个重要API进行详细解读,并结合实际场景展示如何灵活运用,帮助你充分发挥ARKit的强大潜力。我们将深入剖析ARKit的坐标系统、场景渲染、事件处理等核心机制,让你真正理解其工作原理。 跨领域应用启发: AR技术的应用前景极为广阔。本书不仅教授开发技术,更致力于激发你的创新思维,为你提供不同领域AR应用的开发思路和实践方法。我们将探讨AR在游戏、教育、零售、设计、医疗等多个行业的应用潜力,帮助你思考如何将AR技术与特定业务场景相结合,创造独特的价值。 解决实际开发挑战: 在AR开发过程中,难免会遇到各种技术难题,例如性能优化、用户体验设计、跨平台兼容性等。本书将针对这些常见挑战,提供行之有效的解决方案和最佳实践,帮助你避免弯路,提高开发效率。我们还将讨论如何处理AR内容与用户交互的细节,确保你的应用能够提供流畅、直观的使用体验。 展望未来趋势: 技术发展日新月异,AR领域也不例外。本书将在最后部分,对ARKit的未来发展趋势以及AR技术的最新动向进行展望,帮助你保持对行业前沿的敏锐洞察力,为未来的技术学习和项目开发做好准备。 本书内容概览(部分): 第一部分:ARKit基础入门 第一章:欢迎来到增强现实的世界 什么是增强现实(AR)?AR与虚拟现实(VR)的区别。 ARKit的诞生与发展:Apple在AR领域的布局。 ARKit的核心优势与技术特点。 开发前的准备:硬件要求、软件环境配置(Xcode、Swift)。 第一个ARKit应用:Hello AR!——创建你的第一个AR场景。 第二章:ARKit感知世界:空间理解 ARKit的世界坐标系与相机坐标系。 平面检测:如何发现和利用水平、垂直平面。 Anchor(锚点):ARKit中的定位与跟踪基石。 Hit-Testing(射线检测):实现AR内容与真实世界的交互。 实例:在真实世界中放置一个虚拟物体。 第三章:ARKit渲染:让虚拟物体“活”起来 SceneKit与RealityKit:ARKit的渲染引擎。 节点(Node)与几何体(Geometry):构建3D场景的基础。 材质(Material)与纹理(Texture):赋予物体逼真外观。 光照(Lighting)与阴影(Shadows):提升AR场景的真实感。 实例:导入并渲染复杂的3D模型,并为其添加材质。 第二部分:ARKit核心功能深度探索 第四章:图像与物体识别:ARKit的“火眼金睛” 图像识别(Image Tracking):识别二维图像并叠加AR内容。 物体识别(Object Tracking):识别三维真实物体并进行跟踪。 Reference Images与Reference Objects:配置识别目标。 实例:开发一个识别海报并叠加信息的AR应用。 第五章:人脸跟踪与面部捕捉:ARKit的“表情大师” ARKit的人脸检测与跟踪能力。 面部几何体(Face Geometry)与面部锚点(Face Anchor)。 面部驱动动画:为虚拟角色赋予表情。 实例:开发一个AR面具应用,让用户在视频通话中佩戴虚拟面具。 第六章:ARKit中的物理模拟与交互 ARKit与Core Motion的结合:利用设备运动信息。 物理引擎:在AR场景中实现物体间的碰撞与互动。 手势识别与用户交互:响应用户的触摸、拖拽等操作。 实例:开发一个简单的AR物理小游戏,让物体在AR环境中碰撞反弹。 第三部分:ARKit高级开发与应用拓展 第七章:ARKit的性能优化与用户体验 ARKit性能瓶颈分析与优化策略。 渲染效率的提升:LOD(Level of Detail)、Occlusion(遮挡)。 内存管理与资源加载优化。 设计友好的AR用户界面(UI)与用户体验(UX)。 AR应用的可用性测试与用户反馈。 第八章:ARKit与其他Apple技术集成 ARKit与Core ML:将机器学习模型集成到AR应用中。 ARKit与SpriteKit:在AR场景中添加2D元素。 ARKit与SwiftUI:构建现代化的AR用户界面。 ARKit与iCloud/CloudKit:实现AR数据的云端同步与共享。 第九章:ARKit在不同领域的应用实例 AR游戏开发:沉浸式AR游戏设计与实现。 AR教育应用:生动形象的AR教学内容制作。 AR购物与零售:虚拟试穿、商品预览等。 AR设计与可视化:建筑、产品设计辅助。 AR医疗应用:手术辅助、康复训练等。 第十章:ARKit的未来展望与技术趋势 ARKit的最新发展与潜在新特性。 ARKit与Spatial Computing(空间计算)的结合。 ARKit在多平台、跨设备AR生态中的角色。 学习资源与社区支持:持续学习与探索的途径。 《ARKit开发实战》不仅仅是一本指导你如何写代码的书,更是一扇通往无限创意和未来技术的大门。我们希望通过本书,点燃你对AR开发的热情,赋能你将天马行空的想象变为触手可及的现实。无论你是学生、开发者、设计师,还是仅仅对AR技术充满好奇,本书都将是你踏入AR开发领域最坚实的起点。让我们一起,用ARKit,创造属于你的数字奇迹!

用户评价

评分

这本书的语言风格对我有着莫大的吸引力,我更偏爱那种充满激情、富有个人色彩的叙述方式,而不是那种冷冰冰、教科书式的陈述。我希望作者能够分享他自己在踩坑过程中那些“豁然开朗”的瞬间,那些不经意的技巧和经验的总结,这些“软知识”往往比硬核的技术点本身更有价值。如果作者能用一种讲述故事的方式来串联起各个技术模块,让读者感受到这门技术背后的逻辑和美感,而不是被一堆陌生的术语淹没,那么阅读体验将会大大提升。我非常期待书中能有一些对未来技术走向的预测和讨论,比如新的硬件特性将如何影响现有的开发范式,或者哪些是当前技术栈的局限性,并鼓励读者去思考和创新。一本真正伟大的实战书,应该能激发读者的好奇心和探索欲,让我不仅仅是成为一个代码的搬运工,而是成为一个富有思考的构建者。

评分

坦白说,我购买技术书籍通常带着一种“找菜谱”的心态,我需要的是清晰、可复现的步骤来解决我眼前迫切的问题。最近我们团队正在尝试一个复杂的增强现实项目,涉及高精度的物体识别和场景锚定,现有的文档资料零散且缺乏系统性,让我头疼不已。我非常期待这本书能提供一套完整的、可供参考的工程化流程:从项目初始化、资源管理、交互设计规范,到最终的打包发布。如果书中能包含一些成熟的开源项目源码分析,并清晰地指出哪些部分是框架层面的封装,哪些是我需要自己实现或定制的逻辑,那对我来说简直是救命稻草。我需要的是那种“拿来即用”的模板和组件,能够让我快速搭建起项目的骨架,而不是花费大量时间去重新发明轮子。如果这本书能把这些流程图、伪代码和关键配置项都交代得明明白白,那它就成功抓住了我们这类一线开发人员的痛点。

评分

作为一名资深的软件架构师,我对于技术书籍的选择向来是极其挑剔的,尤其是在快速迭代的前沿技术领域,一本过时的书只会误导人。我更看重的是作者对技术趋势的洞察力和对底层架构的理解深度。这本书如果能不仅仅停留在API的讲解,而是能深入剖析其背后的渲染管线、数据流向以及性能优化的关键点,那才算得上是一本真正有价值的参考书。我特别关注它在处理多线程并发访问底层硬件数据时的同步机制设计,这往往是决定应用稳定性和响应速度的生命线。此外,对于跨平台兼容性或与现有企业级系统的集成方案,如果能提供一些前瞻性的思考和实践案例,那就更完美了。我希望它能提供一些反模式(Anti-Patterns)的讨论,明确指出哪些做法在实际项目中是“坑”,并给出规避的策略,而不是一味地歌颂技术的美好。一本好的实战书,应该包含血泪教训和实战智慧的结晶。

评分

我是一个纯粹的视觉学习者,对于枯燥的文字描述非常不耐烦。一本好的技术书,其图示的质量往往能决定我是否能坚持读下去。我希望这本书中的插图不仅仅是简单的流程图,而是能够用精美的、高分辨率的架构图来描绘复杂的空间关系和数据流向。例如,在解释设备坐标系如何精确地与世界坐标系对齐时,我需要看到清晰的三维透视图和坐标轴的变换示意图,最好能用不同颜色来区分不同参考系。如果它能提供一些互动式的截图或者动图说明关键的操作步骤,那就更棒了。对于代码示例部分,我希望注释详尽且富有上下文,不仅仅是功能性的解释,更要体现作者在编写这段代码时的设计意图。如果能配上Github上的配套代码库,并且保证代码库的更新频率和书本内容同步,那么这本书的价值将得到几何级的提升,因为它提供了一种立体的、多维度的学习体验。

评分

这本书的装帧设计真是让人眼前一亮,那种沉甸甸的质感,捧在手里就感觉里面蕴含了许多硬核的知识,封面那种简洁而富有科技感的排版,也让我对内容充满了期待。我本来就对移动端的图形学和传感器数据融合很感兴趣,一直想找一本能从底层原理讲起,又兼顾实际项目落地的书籍来深入学习。市面上很多同类书籍要么过于理论化,堆砌公式和算法描述,读起来晦涩难懂,要么就是浅尝辄止,只停留在API的调用层面,真正遇到复杂场景的解决方案却寥寥无几。我希望这本书能提供一种“由浅入深,知其所以然”的学习路径,不仅仅是告诉我“怎么做”,更重要的是解释“为什么这么做”,比如在处理设备姿态估计时,不同的滤波算法在不同环境下的优劣权衡,或者在构建稳定世界坐标系时,那些隐藏在框架背后的数学逻辑。如果这本书能在这些方面做到深入浅出,那它绝对是值得我花费时间去啃读的宝藏。我对它的内容结构非常好奇,期待它能像一位经验丰富的导师,引导我一步步跨越从理论到实践的鸿沟。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有