
本书是初学者快速学习 AR 应用的全面教程,从基础理论到经典的 AR 案例都进行了详尽的讲解。保证即便是零基础的读者也可以通过本书学习并制作出常见的 AR 应用。本书共分 10 章,基础部分会介绍 Unity 的安装配置、基础操作、C#编程基础、坐标系统、UI 系统以及各种 AR 常用平台(PC、Android、iOS)的发布等。AR 案例部分会以涂色类 AR、多卡互动 AR、恐龙博物馆 AR 大屏互动为例,在实际制作过程中教大家 AR 应用的通用设计方式,以及如何处理 AR 制作过程中常见的问题。为了方便读者学习,本书随书提供课程中案例的所有资源及源文件,可以随时查阅对比。
前 言 1. 适合人群 本书适合于想要进入 AR 行业的兴趣爱好者,传统行业转型 AR 的管理者,投资人以及针对AR 中特定案例有需求的从业人员。 图书的编写不可能满足所有人群的需求,笔者在日常工作教学中发现,有基础的专业人员更多愿意通过网络论坛或者查阅官方文档的方式解决问题,而初学者或从传统行业转型的人员,则更需要书籍来学习进入 AR 技术领域,因此本书编写重心会更偏向于零基础入门的读者以及对AR 设计、管理方面有需求的读者。 本书针对技术上完全零基础人员有一套切实可行的学习方案,书中内容是从笔者以往教学中提炼完善的,在线下培训和线上课程教学中取得了很好的效果。 学员中有在校大学生、美术从业人员、设计师以及零基础爱好者,他们成功地掌握了相关的AR 技能,做出了优秀的作品及产品。 2. 学习目标 通过本书可以达到的学习效果: 1. 能够独立制作常见的 AR 类软件。 2. 能够具备对 AR 项目策划、任务分配、验收等管理方面的能力。 3. 能够加强 AR 项目中不同工种之前的沟通协作能力。 4. 增加 AR 项目中错误排查以及修复的能力。 5. 学会拆解成熟 AR 产品,即看到 AR 产品后能够快速分析出其所使用的具体技术,以及构建制作流程。 3. 内容风格 编程及美术类的专业性词汇对于外行来讲大多晦涩难懂,在学校系统学习容易接受,如果想在短时间内接受理解这些词汇则很困难。 虽然从网络或其他书籍中摘抄一些定义显然很容易,文字上也会更加严谨,却会造成以专业术语解释专业术语的情况,增加读者的学习负担。 笔者认为专业术语的出现虽然会增加图书中的专业性,但是在占用篇幅的同时,对教学理解不会产生实质性的帮助,对初学者反而会造成困惑及误导。 本书以实用学习为目的,快速带领读者入门,因此书中会尽量将专业词汇使用通俗的文字来解释,方便读者理解。一些文字的严谨性在专业人士眼中可能会有所欠缺,如有不足还望读者补充指正。 受篇幅所限,书中的基础知识主要针对 AR 案例中涉及的内容,如在某一领域有更高要求,请查阅具体细分领域的专业书籍(例如平面美术、C#编程、Zbrush 雕刻、数据库等)。
目 录 第1章 Unity AR(增强现实)概述 ................................................................................... 1 1.1 AR(增强现实)介绍 ..................................................................................................... 1 1.1.1 增强现实技术概述 ............................................................................................... 1 1.1.2 AR 行业应用及发展趋势 .................................................................................... 2 1.2 如何制作 AR .................................................................................................................... 3 1.2.1 所需软件及辅助插件 ........................................................................................... 3 1.2.2 AR 显示基本原理 ................................................................................................ 4 1.3 Unity 与 AR ...................................................................................................................... 5 1.3.1 Unity 引擎简介 .................................................................................................... 5 1.3.2 EasyAR 简介 ........................................................................................................ 5 第2章 注意事项(新手必看) ........................................................................................... 7 2.1 教程学习说明 .................................................................................................................. 7 2.2 版本问题 .......................................................................................................................... 7 2.3 案例说明 .......................................................................................................................... 8 2.4 随书附带资源 .................................................................................................................. 8 2.5 常见问题 .......................................................................................................................... 8 第3章 Unity基础 ............................................................................................................. 10 3.1 Unity 的获取与安装 ...................................................................................................... 10 3.1.1 获取 Unity .......................................................................................................... 10 3.1.2 安装 Unity .......................................................................................................... 11 3.2 Unity 基础操作 .............................................................................................................. 13 3.2.1 Unity 界面介绍 .................................................................................................. 13 3.2.2 Unity 基础操作 .................................................................................................. 15 3.2.3 游戏对象与组件 ................................................................................................. 16 3.2.4 Unity 常用的游戏对象....................................................................................... 17 3.2.5 Unity 常用组件 .................................................................................................. 17 3.2.6 帧的概念 ............................................................................................................ 18 3.3 Unity 资源获取 .............................................................................................................. 18 3.3.1 资源制作 ............................................................................................................. 18 3.3.2 Unity 资源商店 ................................................................................................... 19 3.4 在 Unity 中编写程序 ..................................................................................................... 20 3.4.1 C#脚本基本结构 ................................................................................................ 20 3.4.2 函数(方法) ..................................................................................................... 21 3.4.3 变量 ..................................................................................................................... 21 3.4.4 计算与赋值 ......................................................................................................... 23 3.4.5 if 语句 ................................................................................................................. 23 3.5 坐标系统 ........................................................................................................................ 24 3.5.1 世界坐标系 ......................................................................................................... 24 3.5.2 屏幕坐标 ............................................................................................................. 24 3.5.3 简单的坐标转换 ................................................................................................. 25 3.6 UI 基础 ........................................................................................................................... 26 3.6.1 UGUI 简介 .......................................................................................................... 26 3.6.2 屏幕自适度 ......................................................................................................... 26 3.6.3 调整屏幕自适度 ................................................................................................. 28 3.6.4 Image 与 Text ..................................................................................................... 30 3.6.5 按钮 Button ......................................................................................................... 31 第4章 EasyAR基础 ........................................................................................................ 32 4.1 获取 EasyAR .................................................................................................................. 32 4.2 EasyARSDK 基本配置 .................................................................................................. 32 第5章 应用发布 .............................................................................................................. 36 5.1 Windows/Mac 发布 ..................................................................................................... 37 5.2 Android 平台发布 .......................................................................................................... 38 5.3 iOS 发布 App ................................................................................................................. 42 第6章 涂色类AR项目案例............................................................................................... 57 6.1 涂色类 AR 项目案例简介 ............................................................................................. 57 6.1.1 涂色类 AR 应用简介 ......................................................................................... 57 6.1.2 项目分析 ............................................................................................................. 57 6.1.3 案例规划 ............................................................................................................. 58 6.2 涂色类 AR 识别图设计 ................................................................................................. 58 6.2.1 识别图的识别率 ................................................................................................. 58 6.2.2 识别图内容分析 ................................................................................................. 59 6.2.1 识别图模型图案角度 ......................................................................................... 59 6.2.4 常见的识别图展现方式 ..................................................................................... 61 6.2.4 程序中使用识别图与印刷使用识别图 ............................................................. 63 6.2.6 识别图制作流程 ................................................................................................. 63 6.3 制作识别图 .................................................................................................................... 63 6.3.1 分配组与图层 ..................................................................................................... 63 6.3.2 制作地球部分 ..................................................................................................... 65 6.3.3 制作识别图底座部分 ......................................................................................... 67 6.3.4 制作识别图外框部分 ......................................................................................... 69 6.3.5 制作识别图斜面部分 1 ...................................................................................... 72 6.3.6 制作识别图斜面部分 2 ...................................................................................... 75 6.3.6 加入具备识别信息的背景图片 ......................................................................... 76 6.3.8 导出识别图......................................................................................................... 78 6.4 涂色类 AR 模型分析 ..................................................................................................... 79 6.4.1 模型基础概念 ..................................................................................................... 79 6.4.2 模型标准 ............................................................................................................ 81 6.4.3 制作思路 ............................................................................................................ 81 6.4.4 模型制作流程 ..................................................................................................... 82 6.5 模型制作-Maya 基础 ..................................................................................................... 82 6.5.1 制作地球 ............................................................................................................ 82 6.5.2 制作地球仪的轴 ................................................................................................. 83 6.5.3 制作地球仪的底座 ............................................................................................. 87 6.5.4 制作地球仪的外框 ............................................................................................. 87 6.5.5 完成建模 ............................................................................................................ 90 6.6 UV 匹配识别图.............................................................................................................. 90 6.6.1 UV 的概念 .......................................................................................................... 90 6.6.2 匹配 UV 的思路 ................................................................................................. 92 6.6.3 给模型添加贴图 ................................................................................................. 92 6.6.4 匹配地球部分的 UV .......................................................................................... 94 6.6.5 匹配轴部分的 UV ............................................................................................ 100 6.6.6 匹配底座部分的 UV ........................................................................................ 100 6.6.7 匹配外框部分的 UV ........................................................................................ 102 6.6.8 调整模型 .......................................................................................................... 105 6.6.9 导出模型 .......................................................................................................... 106 VIII Unity AR 增强现实技术开发教程 6.7 涂色 AR 编程第一阶段 ............................................................................................... 107 6.7.1 第一阶段目标 ................................................................................................... 107 6.7.2 创建项目 ........................................................................................................... 107 6.7.3 配置识别图与模型 ........................................................................................... 108 6.7.4 替换模型贴图 ................................................................................................... 110 6.7.5 使用按钮替换贴图 ........................................................................................... 111 6.6.7 屏幕截图 ........................................................................................................... 113 6.8 涂色 AR 编程第二阶段 ............................................................................................... 115 6.8.2 第二阶段目标 ................................................................................................... 115 6.8.2 如何获得正确的贴图 ....................................................................................... 116 6.8.3 获取截屏时识别图四个角的坐标 ................................................................... 118 6.8.4 涂色 AR 中的 Shader ....................................................................................... 121 6.8.5 C#向 Shader 传递信息 ..................................................................................... 123 6.8.6 正确将识别图涂色附在模型上。 ................................................................... 125 6.8.7 第二阶段可能出现的异常情况 ....................................................................... 129 6.9 涂色 AR 编程第三阶段 ............................................................................................... 131 6.9.1 第三阶段目标 ................................................................................................... 131 6.9.2 扫描框的功能 ................................................................................................... 131 6.9.3 制作扫描框与提示面片 ................................................................................... 131 6.9.4 获取识别图与扫描框的四角屏幕坐标 ........................................................... 134 6.9.5 确定识别图是否完全处于扫描框内 ............................................................... 140 6.9.6 使用扫描框自动贴图 ....................................................................................... 145 6.9.7 长方形识别图制作思路 ................................................................................... 152 6.9.8 涂色类 AR 案例总结 ....................................................................................... 154 第7章 多卡互动项目案例 .............................................................................................. 155 7.1 多卡互动设计思路 ...................................................................................................... 155 7.2 制作字母识别图 .......................................................................................................... 155 7.3 多卡识别功能制作 ...................................................................................................... 156 7.4 使用碰撞器判断卡片顺序........................................................................................... 158 7.5 编写代码 ...................................................................................................................... 160 7.6 完善 AR 多卡互动 ....................................................................................................... 164 第8章 恐龙博物馆AR互动大屏 ..................................................................................... 167 8.1 项目策划 ...................................................................................................................... 167 8.1.1 整合需求 ........................................................................................................... 167 8.1.2 项目设计 .......................................................................................................... 168 8.1.3 项目预算 .......................................................................................................... 171 8.1.4 模型制作流程及标准 ....................................................................................... 171 8.1.5 动画标准 .......................................................................................................... 175 8.2 项目场景搭建 .............................................................................................................. 178 8.2.1 如何增强 AR 的真实感 ................................................................................... 178 8.2.2 角度匹配 .......................................................................................................... 178 8.2.3 投影效果 .......................................................................................................... 180 8.2.4 天空盒与全景图片 ........................................................................................... 182 8.2.5 制作全景图片 ................................................................................................... 185 8.3 动画控制 ...................................................................................................................... 186 8.3.1 动画控制设计 ................................................................................................... 186 8.3.2 Mecanim 动画系统 .......................................................................................... 186 8.3.3 播放待机状态动画 ........................................................................................... 187 8.3.4 动画的切换及融合 ........................................................................................... 188 8.3.5 控制恐龙行走动画(Blend Tree) ................................................................. 190 8.3.6 控制行走位移 ................................................................................................... 194 8.3.7 处理同时进行的动画(动画遮罩) ............................................................... 194 8.3.8 完善动画 .......................................................................................................... 196 8.3.9 修改 Bug ........................................................................................................... 198 8.4 项目拓展 ...................................................................................................................... 199 8.4.1 加入声音(动画事件) ................................................................................... 199 8.4.2 手柄控制 .......................................................................................................... 200 8.4.3 现实物体对虚拟物体的遮挡 ........................................................................... 201 8.4.4 自动循环动画 ................................................................................................... 204 8.4.5 自动循环动画制作 ........................................................................................... 204 第9章 常用内容查询 ..................................................................................................... 207 9.1 第 6 章常用代码查询 .................................................................................................. 207 9.2 PS 常用操作 ................................................................................................................. 208 9.3 第 6 章 常用 maya 操作 .............................................................................................. 208 视图与显示操作 .......................................................................................................... 208 模型基本操作 .............................................................................................................. 209 修改参数 ...................................................................................................................... 209 选择 .............................................................................................................................. 209 更改物体 ...................................................................................................................... 209 X Unity AR 增强现实技术开发教程 UV 部分 ........................................................................................................................ 209 9.4 第 7 章常用代码 .......................................................................................................... 210 9.5 第 8 章常用代码 .......................................................................................................... 210 9.6 常用变量 ...................................................................................................................... 211 第10章 其他 ................................................................................................................. 212 10.1 文件管理 .................................................................................................................... 212 10.2 AR 中人员管理 .......................................................................................................... 213 10.3 AR 注意事项 .............................................................................................................. 213
李晔:国内第一批进入AR技术领域的开发者,蛮牛教育讲师,曾从事次世代美术、平面美术、前端程序、策划、责任编辑等多个领域的不同工种,善于对接整合不同阶段的技术需求,曾参与《辐射4》等大型游戏开发。__eol__拥有多年AR项目策划经验,为AR硬件厂商及AR需求方提供大量AR解决方案。擅长不同平台的AR交互设计、AR产品的逆向拆解以及AR项目中美术标准的制定。。__eol__在AR教学过程中,以把控整体流程和解决问题的思想来设计课程,重视经典案例的制作,确保学员能够在最短时间内掌握AR应用制作中最实用的技术。__eol__