关于本书
您是否是想要成为利用Google ARCore平台来创建沉浸式酷炫增强现实应用程序的移动端开发人员或Web开发人员?如果是,那么本书将帮助您直接进入ARCore的开发,并轻松且详细地创建一个AR应用程序。
本书主要介绍了如何实现ARCore的核心功能,从3D渲染的基本原理到更先进的概念,如光线照明、着色器、机器学习等。
首先将从在3种平台(Web、Android和Unity)上构建一个基本项目开始。接下来,介绍运动跟踪、环境认知和光线估计的ARCore概念。对于每一个核心概念,都将通过学习一个实际项目来应用和扩展ARCore特性,从学习三维渲染和光线的基础知识到探索更先进的概念。
读者可以编写自定义的着色器来照射AR中的虚拟对象,然后构建一个神经网络来识别环境,并利用ARCore在混合现实中实现更庞大的应用程序。在本书的后,还将学习如何实现运动跟踪和环境学习,创建动画和声音,生成虚拟人物,并在屏幕上模拟。
本书主要内容
?在Android、Web和Unity平台上构建和部署增强现实应用程序;
?实现用ARCore来识别和可视化对象,如点云、平面、表面和/或网格;
?利用Google ARCore和Java语言开发的OpenGL ES探索环境理解的先进概念;
?在ARCore中建立光线等级,并编写C#脚本来观测和传播场景中的光线变化;
?开发反映光线变化的图形着色器并绘制环境以实现在Unity/C#平台中放置对象;
?集成运动跟踪和Web ARCore API以及Google街景来实现一种AR/VR综合体验。
译者序
原书前言
第1章 入门 // 1
1.1 沉浸式计算 //1
1.2 AR和 ARCore //2
1.2.1 运动跟踪 // 3
1.2.2 环境理解 // 4
1.2.3 光线估计 // 4
1.3 组织结构与安排 //5
1.4 小结 //6
第 2章 Android平台上的 ARCore //7
2.1 安装 Android Studio //7
2.2 安装 ARCore //9
2.2.1 在设备上安装 ARCore服务 // 10
2.3 构建和部署 //11
2.4 代码分析 //12
2.5 小结 //14
第 3章 Unity平台上的 ARCore //15
3.1 安装 Unity平台和 ARCore //15
3.2 在 Android平台上构建和部署 //18
3.3 远程调试 //19
3.3.1 连接测试 // 20
3.3.2 远程调试一个正在运行的应用程序 // 21
3.4 代码分析 //22
3.4.1 Unity平台更新方法 // 23
3.5 小结 //24
第 4章 Web平台上的 ARCore //25
4.1 安装 WebARonARCore //25
4.2 安装 Node.js //26
4.2.1 Node软件包管理器 // 26
4.3 示例分析 //28
4.4 调试 Android平台上的 Web平台应用程序 //29
4.4.1 连接 Chrome平台开发工具 // 29
4.4.2 通过 Chrome平台调试 // 30
4.5 三维和 three.js //31
4.5.1 理解左手或右手坐标系 // 33
4.5.2 三维缩放、旋转和平移 // 33
4.6 小结 //34
第 5章 真实世界中的运动跟踪 //35
5.1 深度运动跟踪 //35
5.2 三维声音 //38
5.3 共振音频 //39
5.4 基于 Firebase的跟踪服务 //42
5.4.1 设置数据库 // 43
5.4.2 连接测试次数 // 44
5.5 可视化运动跟踪 //45
5.6 练习 //47
5.7 小结 //48
第 6章 环境理解 //49
6.1 点云跟踪 //49
6.2 网格化与环境 //51
6.3 环境交互 //52
6.3.1 触摸手势检测 // 55
6.4 基于 OpenGL ES的绘制 //56
6.5 着色器编程 //58
6.5.1 着色器编辑 // 61
6.6 练习 //62
6.7 小结 //63
第 7章 光线估计 //64
7.1 三维渲染 //64
7.1.1 构建一个测试场景 // 65
7.1.2 材质、着色器和纹理 // 67
7.2 三维光线 //69
7.3 光线估计 //71
7.4 Cg/HLSL着色器 //73
7.5 光线方向估计 //76
7.5.1 环境光线更新 // 79
7.6 练习 //79
7.7 小结 //80
第 8章 环境认知 //81
8.1 机器学习简介 //81
8.1.1 线性回归原理 // 83
8.2 深度学习 //85
8.2.1 神经网络 -深度学习基础 // 86
8.3 神经网络编程实现 //87
8.3.1 神经网络脚本编程 // 88
8.4 神经网络训练 //94
8.4.1 激活警告 // 95
8.4.2 添加环境扫描器 // 98
8.4.3 反向传播原理 // 99
8.4.4 梯度下降原理 // 101
8.4.5 网络架构定义 // 103
8.4.6 环境的网络视角 // 105
8.4.7 练习 // 106
8.5 TensorFlow //107
8.6 小结 //108
第 9章 建筑设计的混合光线 //110
9.1 工程设置 //110
9.1.1 场景构建 // 112
9.1.2 修改基本场景 // 113
9.2 环境和放置内容 //116
9.3 UI构建 //119
9.3.1 按钮脚本编程 // 122
9.4 虚拟交互 //124
9.4.1 构建对象轮廓 // 126
9.4.2 椅子定位 // 129
9.5 光线和阴影 //132
9.5.1 打开阴影 // 135
9.6 练习 //137
9.7 小结 //137
第 10章 混合现实中的混合 //138
10.1 MR和 HoloKit //139
10.1.1 设置 HoloKit // 140
10.1.2 HoloKit如何工作 // 142
10.2 WRLD简介 //144
10.3 设置 MR中的 WRLD //146
10.4 地图导航 //147
10.4.1 从 AR切换到 MR //149
10.4.2 构建 SceneSwitcher //150
10.4.3 创建 SceneSwitcher预制件 // 151
10.4.4 修改 Wrld Map脚本 // 153
10.5 地图构建、GIS和 GPS //155
10.5.1 生成 Splash场景 //159
10.5.2 修正高度问题 // 162
10.6 未来发展 //163
10.7 练习 //164
10.8 小结 //164
第 11章 性能提升技巧和故障排除 //166
11.1 性能诊断 //166
11.1.1 Chrome平台开发工具 // 166
11.1.2 Android平台分析工具 // 168
11.1.3 Unity平台分析工具 // 170
11.2 性能提升管理技巧 //172
11.3 常见故障排除 //174
11.3.1 故障排除代码 // 174
11.4 练习 //177
11.5 故障排除技巧 //177
11.6 小结 //178
温馨提示:请使用宁波大学园区图书馆的读者帐号和密码进行登录