第1章 Unity的基本介绍 1
1.1 功能特点 1
1.1.1 Unity简介 1
1.1.2 Unity的特点 1
1.2 版本及费用 2
1.3 下载和安装 2
1.3.1 下载 2
1.3.2 安装 3
1.3.3 第一次运行 7
1.4 商城内容和官方资源 8
第2章 Unity主要界面介绍 11
2.1 理解Unity项目的结构 11
2.2 启动界面 12
2.3 默认界面 13
2.4 Game(游戏)视图 14
2.5 Scene(场景)视图 15
2.6 Hierarchy(层级)视图 16
2.7 Inspector(检视)视图 17
2.8 Project(项目)视图 18
2.9 Console(控制台)视图 21
第3章 Unity快速入门 22
3.1 场景 22
3.1.1 场景和项目 22
3.1.2 理解项目和场景 24
3.2 摄像机 24
3.3 游戏对象 27
3.4 预制件 29
3.5 组件 31
3.6 其他常用内容 32
3.6.1 3D模型 32
3.6.2 刚体 33
3.6.3 重力 35
3.6.4 物理特性 36
3.6.5 穿透 38
3.6.6 粒子系统 38
3.7 Unity GUI 40
3.7.1 Render Mode显示模式 41
3.7.2 定位方式 43
3.7.3 响应脚本 44
3.8 脚本 47
3.8.1 基本介绍 47
3.8.2 MonoBehaviour 48
3.8.3 Transform 49
3.8.4 GameObject 50
3.8.5 常用事件 51
3.8.6 Instantiate 52
3.8.7 Destory 53
3.8.8 获取指定游戏对象或组件 55
3.8.9 指定平台 57
3.8.10 DontDestroyOnLoad 58
3.8.11 SendMessage 58
3.8.12 场景切换 60
3.9 资源包的导入和导出 61
3.9.1 导入资源包 61
3.9.2 导出资源包 62
3.10 发布应用 64
3.10.1 发布Windows应用 65
3.10.2 发布Android应用 66
3.10.3 发布iOS应用 71
3.11 Unity商城资源下载和导入 74
第4章 增强现实介绍 76
4.1 基本概念 76
4.2 主流实现方式 76
4.3 典型案例 78
4.4 常用增强现实SDK 81
4.5 其他 83
第5章 基于Vuforia SDK的增强现实开发 85
5.1 Vuforia简介 85
5.2 准备工作 85
5.2.1 注册账号 85
5.2.2 下载SDK 86
5.2.3 添加key 87
5.2.4 添加数据库 89
5.3 识别图片显示3D模型 89
5.3.1 添加识别图片 89
5.3.2 下载识别数据 93
5.3.3 建立场景 93
5.3.4 设置游戏对象 95
5.3.5 测试 96
5.4 识别柱体显示3D模型 96
5.4.1 添加识别柱体 96
5.4.2 下载识别数据 99
5.4.3 建立场景 99
5.4.4 设置游戏对象 101
5.4.5 测试 103
5.5 识别物体显示3D模型 103
5.5.1 下载Vuforia Object Scanner并打印图片 103
5.5.2 扫描物体 104
5.5.3 添加识别物体 106
5.5.4 下载识别数据 107
5.5.5 建立场景 108
5.5.6 设置游戏对象 109
5.5.7 测试 110
5.6 识别图片播放视频 111
5.6.1 下载例子 111
5.6.2 导入例子和数据 112
5.6.3 建立场景 112
5.6.4 设置游戏对象 115
5.6.5 测试 117
第6章 基于EasyAR SDK的增强现实开发 118
6.1 EasyAR简介 118
6.2 获得key 118
6.3 下载开发包 119
6.4 识别图片显示3D内容 120
6.4.1 新建场景 120
6.4.2 替换添加脚本 123
6.4.3 设置游戏对象 125
6.4.4 运行测试 127
6.5 识别图片并将图片映射为3D模型纹理(涂涂乐) 128
6.5.1 准备工作 128
6.5.2 设置模型纹理 128
6.5.3 运行测试 130
6.6 识别图片播放视频 130
6.6.1 准备工作 130
6.6.2 添加用于播放视频的3D物体 131
6.6.3 运行测试 133
6.7 打包安卓的注意事项 133
第7章 虚拟现实简介 134
7.1 虚拟现实基本概念 134
7.2 常见的几种VR硬件 134
7.3 HTC Vive介绍 136
7.4 HTC Vive的手柄 137
7.5 Vive上的VR应用介绍 137
7.6 基于Vive的VR开发常见的几个问题 139
第8章 基于Input Utility插件的虚拟现实开发 141
8.1 基于Input Utility插件开发 141
8.2 SDK下载 141
8.3 按钮开发综述 142
8.4 Trigger按钮开发 144
8.5 Pad按钮开发 145
8.6 操作GUI 146
8.7 拖动远处的3D物体 150
8.8 传送 152
8.9 物体拾取和触碰 158
第9章 基于InteractionSystem的虚拟现实开发 165
9.1 InteractionSystem插件及SDK下载 165
9.2 按钮控制 166
9.3 基础碰触 169
9.4 物体拾取 174
9.5 传送 180
9.6 操作UI 185
9.7 道具拾取 189
9.8 按钮提示显示 196
第10章 高德地图Android定位SDK在Unity下的简单使用 200
10.1 Unity简单调用Java类 200
10.2 高德地图key的获取 207
10.3 安全码SHA1获取 210
10.4 准备Jar 211
10.5 导入Unity 214
10.6 获取定位信息 214
10.6.1 获取定位信息的脚本 214
10.6.2 添加调用脚本 221
10.6.3 测试 224
10.6.4 插件 224
10.7 获取地图 225
10.7.1 说明 225
10.7.2 脚本 226
10.7.3 场景 226
10.7.4 打包运行 228
第11章 Unity3D摄像机开发 229
11.1 常用的几种摄像机 229
11.1.1 CctvCamera 230
11.1.2 HandHeldCamera 233
11.1.3 MultipurposeCameraRig 236
11.1.4 FreeLookCameraRig 240
11.1.5 第一人称视角 243
11.1.6 DungeonCamera 244
11.1.7 LookAtCamera 248
11.2 双摄像机 249
第12章 声音播放 255
12.1 AudioClip、AudioSource、AudioListener 255
12.1.1 AudioClip 255
12.1.2 AudioSource 256
12.1.3 AudioListener 256
12.2 播放背景音乐 257
12.3 控制背景声音音量 259
12.4 播放特效声音 262
12.5 控制特效音量 268
第13章 Unity3D服务器端和客户端通信 276
13.1 服务器端和客户端通信概述 276
13.2 服务器端和客户端通信实例 276
第14章 其他Unity3D相关的内容 286
14.1 带进度条的场景切换 286
14.2 单一数据存储 287
14.3 少量初始数据的存储 288
14.3.1 将数据存储在预制件里 289
14.3.2 利用ScriptableObject将数据存储为资源 290
14.4 用iTween插件进行移动、缩放、旋转操作 293
14.4.1 下载并导入插件 293
14.4.2 iTween的基本调用 294
14.4.3 iTween常见参数介绍 294
14.4.4 iTween实现移动 295
14.4.5 iTween实现旋转 295
14.4.6 iTween实现大小变化 296
14.4.7 iTween的变化值 297
14.4.8 iTween Visual Editor导入 299
14.4.9 iTween Visual Editor控制变化 300
14.4.10 iTween Visual Editor指定运动路径 302
14.5 插件推荐 305