《Unity AR VR开发 从新手到专家》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:王寒,曾坤,张义红著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:7111584636
  • 页数:440 页
图书介绍:

第一篇 入门篇 2

第1章 初识神兵:为什么选择Unity 2

1.1 常用3D引擎介绍 2

1.1.1 什么是游戏引擎 2

1.1.2 游戏引擎架构基础 3

1.1.3 主流3D引擎对比分析 6

1.2 Unity的发展史及代表作品 7

1.2.1 Unity的前世今生 7

1.2.2 Unity的代表作品 8

1.3 Unity的授权、服务与安装 10

1.3.1 Unity的授权类型和服务 10

1.3.2 Unity的安装 10

1.4 如何获取Unity开发的学习资源 12

1.4.1 Unity的开发者官方认证培训 12

1.4.2 Unity官方的网站资源 12

1.4.3 值得推荐的第三方学习资源 13

1.5 本章小结 14

第2章 蹒跚学步:和Unity的第一次亲密接触 15

2.1 Unity编辑器入门 15

2.1.1 界面布局 15

2.1.2 Unity的工具栏 19

2.1.3 顶部菜单栏 22

2.1.4 Console视图 26

2.2 Unity中的核心概念和子系统 27

2.2.1 游戏场景 27

2.2.2 游戏对象 27

2.2.3 组件 28

2.2.4 预设体 29

2.2.5 Unity的核心子系统 29

2.3 Unity Asset Store游戏资源商城 32

2.4 本章小结 33

第3章 无往不利:在Unity中使用C#进行编程 34

3.1 C#语言概述 34

3.1.1 为什么选择C 34

3.1.2 C#的开发环境 35

3.2 C#的基本语法和使用 35

3.2.1 变量和数据类型 35

3.2.2 表达式与运算符 37

3.2.3 流程控制 43

3.2.4 函数 45

3.2.5 类、对象和方法 48

3.3 Unity的脚本系统 51

3.3.1 创建脚本 52

3.3.2 MonoDevelop编辑器及VisualStudio 54

3.3.3 事件函数 54

3.4 本章小结 58

第二篇 进阶篇 60

第4章 创建一个新世界:游戏场景 60

4.1 创建基础的游戏场景 60

4.1.1 Unity中的地形引擎 60

4.1.2 基本几何体的使用 65

4.1.3 添加天空盒 66

4.2 创建外部的游戏资源 68

4.2.1 3D模型、材质和动画的创建工具 68

4.2.2 音效创建工具 71

4.2.3 其他资源创建工具 71

4.3 导入外部的游戏资源 71

4.3.1 2D图像文件的导入和设置 72

4.3.2 3D模型的导入和设置 72

4.3.3 3D动画的导入和设置 73

4.3.4 音频和视频的导入和设置 74

4.3.5 Unity资源包的导入和导出 74

4.4 实战:创建BattleStar项目并准备游戏资源 75

4.4.1 BattleStar游戏的策划与设计 75

4.4.2 创建BattleStar项目并添加版本控制 76

4.4.3 创建并导入BattleStar项目所需的3D美术资源 76

4.4.4 创建BattleStar的基本游戏场景 81

4.5 本章小结 88

第5章 有了光就有了一切:Enlighten 89

5.1 Unity光照系统介绍 89

5.1.1 Light组件简介 89

5.1.2 常见的光源类型 90

5.1.3 Light inspector中的参数简介 91

5.2 全局光照 93

5.2.1 全局光照简介 93

5.2.2 烘焙 94

5.2.3 Lightmap的使用 95

5.2.4 Light Probe和Reflection Probe的使用 95

5.3 实战:给BattleStar游戏场景添加光照 100

5.3.1 给场景添加光照前的准备工作 101

5.3.2 给场景添加太阳光 101

5.3.3 添加发光贴图 102

5.3.4 添加点光源 103

5.3.5 添加Light Probe Group 107

5.3.6 添加Reflection Probe 110

5.3.7 进行光照烘焙处理 111

5.4 本章小结 113

第6章 让游戏画面栩栩如生:粒子系统和其他 114

6.1 Shuriken粒子系统 114

6.1.1 什么是粒子系统 114

6.1.2 Shuriken粒子系统 115

6.2 Shader的使用 117

6.2.1 什么是Shader 117

6.2.2 Unity中的标准Shader 118

6.2.3 创建自定义的Shader 126

6.3 Post Processing的使用 130

6.3.1 Post Processing简介 130

6.3.2 如何在Unity项目中添加Post Processing 131

6.4 实战:美化BattleStar游戏场景的视觉效果 133

6.4.1 设置场景材质(标准Shader的使用) 133

6.4.2 制作添加粒子系统特效1:烟尘 134

6.4.3 制作添加粒子系统特效2:火花 138

6.4.4 给游戏添加后处理特效 142

6.4.5 第三方插件Amplify ShaderEditor的使用 147

6.5 本章小结 155

第7章 玩家的好帮手:UI系统 156

7.1 Unity中的Ul系统简介 156

7.1.1 UGUI系统简介 156

7.1.2 Canvas简介 157

7.1.3 交互元素简介 163

7.2 实战:给BattleStar游戏添加UI 168

7.3 本章小结 173

第8章 让角色活灵活现:Unity中的动画系统 174

8.1 Unity动画系统 174

8.1.1 Legacy Animation System 174

8.1.2 Mecanim动画系统概览 175

8.1.3 Mecanim动画系统的使用 179

8.2 实战:让BattleStar游戏中的角色动起来 183

8.2.1 导入NPC角色资源 183

8.2.2 设置NPC基础状态机 184

8.2.3 添加状态机之间的切换 187

8.2.4 编写控制角色动画的脚本 188

8.3 本章小结 190

第9章 最简单的游戏AI:NavMesh寻路系统 191

9.1 Unity中的寻路系统 191

9.1.1 寻路系统内部工作原理 191

9.1.2 烘焙设置:NavMesh 192

9.1.3 添加障碍物:NavMesh Obstacle 195

9.1.4 跳过障碍物:Off-Mesh Link 196

9.2 BattleStar游戏实战:在游戏中使用寻路系统 196

9.2.1 添加地板对象的寻路烘焙 197

9.2.2 在NPC角色对象上添加并设置寻路功能 199

9.3 本章小结 202

第10章 真实世界的法则:物理引擎 203

10.1 Unity中的物理引擎系统 203

10.1.1 物理系统概述 203

10.1.2 Rigidbody组件 203

10.1.3 Collider组件 208

10.1.4 Raycast 211

10.2 BattleStar游戏实战:给游戏添加物理系统 212

10.2.1 BattleStar游戏中的物理系统设计 212

10.2.2 在场景中添加物理碰撞系统 213

10.3 本章小结 217

第11章 且听风吟:音乐和音效 218

11.1 Unity中的Audio系统 218

11.1.1 Audio系统概述 218

11.1.2 Audio Source 219

11.1.3 Audio Reverb Zone 222

11.2 实战:给BattleStar游戏添加背景音乐和音效 223

11.2.1 将音乐和音效资源导入到项目中 223

11.2.2 给游戏添加背景音乐 224

11.2.3 给游戏添加音效 225

11.3 本章小结 227

第12章 让游戏更顺畅:数据存取与性能优化 228

12.1 Unity中的数据存取 228

12.1.1 使用PlayerPrefs 229

12.1.2 使用XML 229

12.1.3 使用数据库 230

12.2 Unity中的性能优化 230

12.2.1 Unity中的遮挡剔除 231

12.2.2 使用Profiler和Frame Debugger 232

12.2.3 脚本优化 233

12.3 实战:给BattleStar添加数据存取机制并优化游戏 235

12.3.1 游戏数据存取机制的设计 235

12.3.2 实现游戏数据存取机制 237

12.3.3 对游戏性能进行优化 241

12.4 本章小结 245

第13章 一个人的世界很孤单:Unity网络编程 246

13.1 UNET简介 246

13.1.1 UNET中的服务器 247

13.1.2 High Level API 248

13.1.3 Transport Layer API 249

13.2 Unity中的第三方网络插件:Photon 250

13.2.1 Photon的主要功能特性 250

13.2.2 Photon Cloud与Photon Server 251

13.2.3 PUN、PUN+与UNET 251

13.3 实战:使用Unity和Photon创建一个简单的多人在线游戏 252

13.3.1 PhotonFPS游戏的产品策划 252

13.3.2 创建Unity项目和基础场景 253

13.3.3 优化和完善游戏 259

13.3.4 添加语音对话功能 262

13.4 本章小结 264

第三篇 实战篇 266

第14章 虚拟现实开发技术入门 266

14.1 虚拟现实的技术基础 266

14.1.1 立体显示技术 266

14.1.2 场景建模技术 267

14.1.3 自然交互技术 268

14.2 主流的虚拟现实设备 269

14.2.1 Oculus Rift 269

14.2.2 HTCVive 270

14.2.3 Sony PlayStation VR 271

14.2.4 Samsung Gear VR 272

14.2.5 Google Daydream 272

14.2.6 Microsoft HoloLens 272

14.2.7 苹果iGlass 273

14.3 主流的虚拟现实开发工具 273

14.3.1 虚拟现实开发平台简介 273

14.3.2 第三方工具和SDK 274

14.4 虚拟现实应用开发的基本流程和注意事项 276

14.4.1 虚拟现实应用开发的基本流程 276

14.4.2 虚拟现实应用开发的注意事项 278

14.5 本章小结 280

第15章 实战:跨HTC Vive和OculusRift平台开发VR游戏 281

15.1 HTC Vive平台开发概述 281

15.1.1 HTC Vive设备及平台简介 281

15.1.2 Lighthouse技术原理 282

15.1.3 HTC Vive手柄交互详解 283

15.1.4 Steam VR插件简介 283

15.1.5 VRTK插件简介 284

15.2 配置HTC Vive的开发测试环境 285

15.2.1 安装HTC Vive硬件和SteamVR软件 285

15.2.2 设置并打开Steam VR 286

15.2.3 运行SteamVR的测试场景 289

15.2.4 TPCast无线模块 289

15.2.5 Vive追踪器简介 290

15.3 实战:开发跨平台VR联网对战塔防游戏 291

15.3.1 对战塔防游戏策划 291

15.3.2 创建项目并进行基本设置 292

15.3.3 新建塔防场景 292

15.3.4 实现敌人的自动寻路功能 294

15.3.5 添加其他游戏逻辑组件 297

15.3.6 使用手柄控制游戏的开始 302

15.3.7 使用手柄在游戏中进行传送 305

15.3.8 使用手柄与场景中的物体互动 307

15.3.9 给玩家装配武器 309

15.3.10 实现游戏的联网功能 310

15.3.11 修复游戏中的小问题 319

15.3.12 适配到Oculus平台 320

15.3.13 添加背景音乐和音效 322

15.4 将产品上传到Viveport和Steam平台 322

15.5 本章小结 325

第16章 实战:在Google Daydream平台开发VR游戏 326

16.1 Google Daydream VR平台开发概述 326

16.1.1 Google Daydream VR设备及平台简介 327

16.1.2 Google Daydream VR中的交互 327

16.2 实战:开发V SpaceCraft游戏 328

16.2.1 《VSpaceCraft》的产品策划 328

16.2.2 配置Google Daydream VR的开发测试环境 328

16.2.3 创建新的Daydream项目 332

16.2.4 游戏基本结构的设计和实现 334

16.2.5 游戏场景的搭建和设置 338

16.2.6 将游戏适配到Daydream VR平台 340

16.2.7 隐藏控制器模型 345

16.3 将产品发布到Google Play VR和Daydream 347

16.3.1 Google Play VR和Daydream介绍 347

16.3.2 VR应用发布 347

16.4 本章小结 348

第17章 实战:使用Unity和Vuforia开发AR小游戏 349

17.1 Vuforia SDK简介 349

17.2 实战:开发AR小游戏PocketCat 352

17.2.1 PocketCat游戏简介 352

17.2.2 配置开发测试环境 352

17.2.3 开发前的准备工作 354

17.2.4 利用Image Target实现图像识别 356

17.2.5 在iOS设备上编译运行 362

17.2.6 实现用户自定义的Image Target 365

17.2.7 添加控制角色的虚拟joystick 370

17.2.8 将项目在Android设备上编译 373

17.2.9 将游戏发布到AppStore和Android应用商城 374

17.3 本章小结 374

第18章 实战:使用Unity和Wikitude开发AR应用 375

18.1 Wikitude SDK简介 375

18.2 实战:开发AR游戏iGirl 378

18.2.1 iGirl游戏简介 378

18.2.2 下载Wikitude SDK 379

18.2.3 获取Wikitude的License 380

18.2.4 创建新项目并导入WikitudeSDK 381

18.2.5 了解Instant Tracking的运作机制 381

18.2.6 添加自己的3D模型并设置项目 383

18.2.7 设置iGirl的预设体 383

18.2.8 完成其他设置 386

18.2.9 将AR应用编译运行和发布 386

18.3 实战:开发一个简单的《口袋动物园》应用 388

18.3.1 《口袋动物园》的游戏策划 389

18.3.2 配置开发测试环境 389

18.3.3 创建ImageTracker 391

18.3.4 添加模型 392

18.3.5 使用EasyTouch插件实现手势交互 393

18.4 本章小结 396

第19章 实战:在HoloLens平台开发游戏 397

19.1 HoloLens平台开发概述 397

19.2 实战:开发HoloSpace游戏 400

19.2.1 HoloSpace产品策划 400

19.2.2 配置HoloLens的开发测试环境 401

19.2.3 设置并运行HoloLens的测试场景 404

19.2.4 在Unity中导入所需的项目资源 408

19.2.5 模拟火箭升空的效果 408

19.2.6 将火箭部署到HoloLens世界中 413

19.2.7 调整火箭的初始位置 414

19.2.8 丰富对火箭操作的交互 417

19.2.9 游戏的UI设计和开发 418

19.2.10 添加背景音乐和音效 419

19.3 将产品发布到Windows Store平台 420

19.4 本章小结 423

第20章 实战:使用苹果ARKit和Unity开发AR应用 424

20.1 苹果ARKit简介 424

20.2 使用Unity ARKit开发iGuitarHero 426

20.2.1 iGuitarHero小游戏的策划 426

20.2.2 开发前的准备工作 427

20.2.3 Unity ARKit插件简介 427

20.2.4 创建项目并导入ARKit插件 428

20.2.5 运行ARKit插件的示例场景 429

20.2.6 在Unity中测试4DViews插件的使用 432

20.2.7 创建真正的游戏场景 435

20.2.8 添加游戏背景音乐 439

20.3 本章小结 440