《Unity官方案例精讲》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:优美缔软件(上海)有限公司主编
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2015
  • ISBN:9787113202354
  • 页数:416 页
图书介绍:作为Unity引擎的辅助学习资料,Unity公司提供了大量的官方示例和演示程序供开发者参考,这些程序示例涵盖了各个主要游戏类型的程序架构,以及Unity引擎本身的几乎所有重要功能,极富参考价值。可惜的是,Unity公司在提供这些程序示例的同时,并没有给出相应的详细文字讲解和说明。本书即从这些示例中精心挑选了若干个具有代表性的实例进行详细讲解,在每个实例中都重点切入一个或几个Unity引擎的核心功能点,进而以接近于现场教学的方式,引导读者一边阅读、一边动手,通过实际操作来掌握学习内容。在讲解过程中,本书还对与Unity编程相关的重要知识加以特别关注和讲解,使读者在实践中深刻理解Unity引擎的原理和使用方法,真正做到融会贯通。

第1章 C#脚本编程基础 1

1.1 配置脚本开发环境 2

1.1.1 配置Visual Studio 2

1.1.2 配置MonoDevelop 6

1.1.3 脚本的创建 8

1.2 变量、数组与函数 9

1.2.1 变量的声明与使用 9

1.2.2 数组的声明与使用 11

1.2.3 函数的声明与使用 12

1.3 语句、表达式与运算符 14

1.3.1 语句 14

1.3.2 表达式 16

1.3.3 运算符 16

1.4 协程(Coroutine) 18

1.5 类与类的使用 21

1.6 输出调试信息 22

1.7 C#脚本示例 23

1.8 Unity脚本事件执行顺序 26

1.9 脚本模板与脚本编码 28

1.10 Unity 5脚本升级 29

第2章 JavaScript脚本编程基础 31

2.1 JavaScript脚本编程基础 32

2.2 变量、数组与函数 32

2.2.1 变量 32

2.2.2 数组 33

2.2.3 函数 35

2.3 表达式、语句与运算符 37

2.4 JavaScript脚本示例 39

2.5 JavaScript脚本与C#脚本的交互 41

第3章 星际航行游戏——Space Shooter 45

3.1 导入模型、贴图和材质 46

3.1.1 导入资源包文件 46

3.1.2 创建飞船对象 49

3.1.3 设置摄像机参数 50

3.1.4 添加图片背景 50

3.1.5 添加粒子背景效果 52

3.2 编写脚本代码 53

3.2.1 键盘控制飞船移动 53

3.2.2 实现射击行为(Shot) 57

3.2.3 添加小行星(Asteroid) 61

3.3 添加音频 69

3.3.1 添加碰撞爆炸音频 69

3.3.2 添加飞船射击音频 69

3.3.3 添加背景音效 70

3.4 添加计分文本 71

3.4.1 添加计分Text组件 71

3.4.2 添加计分功能 73

3.5 游戏结束与重新开始 74

3.5.1 添加游戏结束的Text组件 74

3.5.2 添加结束游戏的功能 75

3.5.3 添加重新开始的Text组件 76

3.5.4 添加重新开始游戏的功能 77

第4章 潜行游戏——Stealth 79

4.1 加载场景 80

4.1.1 创建场景 80

4.1.2 添加场景元素 80

4.1.3 添加灯光 82

4.1.4 烘焙场景Lightmaps 84

4.1.5 添加Tag管理类 87

4.1.6 添加转场效果 87

4.1.7 添加游戏控制器GameController 89

4.1.8 添加CCTV Camera 92

4.1.9 添加Laser Grid 94

4.2 导入和配置人物角色 97

4.2.1 导入角色模型 97

4.2.2 设置角色动画 98

4.2.3 创建动画参数管理类 99

4.2.4 添加控制角色运动功能 101

4.2.5 添加控制摄像机跟随的功能 104

4.3 主角与环境交互 107

4.3.1 添加控制开关台的功能 107

4.3.2 添加管理房间钥匙卡的功能 110

4.3.3 添加控制单开门的功能 112

4.3.4 添加控制双开门的功能 115

4.4 主角与敌人交互 116

4.4.1 添加管理角色生命值的功能 116

4.4.2 添加敌人角色模型 118

4.4.3 添加敌人自动搜索角色的功能 120

4.4.4 添加控制敌人运动功能 123

4.4.5 添加控制敌人射击的功能 126

第5章 粒子碰撞回调功能——Particle Callbacks 129

5.1 Shuriken立子系统介绍 130

5.2 加载场景 130

5.3 创建粒子效果 134

5.3.1 创建燃烧时冒烟的粒子效果 134

5.3.2 创建燃烧时火星四溅的粒子效果 139

5.3.3 火焰大小控制 140

5.3.4 创建洒水的粒子效果 143

5.3.5 控制洒水位置 146

5.4 碰撞回调函数解析 148

5.5 粒子碰撞回调函数应用案例 152

5.5.1 水滴与桶盖碰撞的处理 152

5.5.2 实现水滴与燃烧桶碰撞熄灭火焰的效果 155

第6章 Mecanim动画系统介绍——Mecanim Example Scenes 157

6.1 Mecanim动画系统简介 158

6.1.1 Mecanim动画系统的工作流 158

6.1.2 Mecanim动画系统中的术语 158

6.2 Mecanim动画系统常用API介绍 160

6.2.1 与动画状态控制相关的API 160

6.2.2 Character Controller(角色控制器) 160

6.3 加载场景 162

6.4 Animator Controller场景 163

6.4.1 创建场景 163

6.4.2 创建动画控制器 165

6.4.3 角色运动控制 167

6.4.4 摄像机运动控制 169

6.4.5 添加提示文字 171

6.5 Crowd Simulation场景 172

6.5.1 创建场景 172

6.5.2 创建动画控制器 173

6.5.3 生成人群 174

6.5.4 控制人群随机运动 175

6.6 Inverse Kinematics Example场景 177

6.6.1 创建场景 177

6.6.2 IK功能实现 178

6.7 Teddy BearBazooka场景 181

6.7.1 创建场景与动画控制器 181

6.7.2 Teddy对象随机运动的控制 183

6.7.3 抬放火箭炮控制 184

6.7.4 射击的控制 188

6.8 Nav Mesh Example场景 190

6.8.1 创建场景 190

6.8.2 创建动画控制器 192

6.8.3 创建导航网格 196

6.8.4 导航网格的寻路实现 197

第7章 Mecanim系统高级特性——Mecanim GDC2013 Sample Project 203

7.1 加载场景 204

7.1.1 创建场景 204

7.1.2 添加地板(Floor)和障碍物(Olbstacles) 204

7.1.3 添加圆木(Log)与冰棒(Popsicle) 206

7.1.4 添加角色(Player) 209

7.1.5 添加非玩家角色 215

7.1.6 添加子弹对象(Bullet) 218

7.2 角色运动的控制 218

7.2.1 由方向键控制角色运动 218

7.2.2 摄像机移动的控制 221

7.2.3 实现角色Slide、Vault的动作 221

7.2.4 实现角色抱着圆木运动 226

7.2.5 角色从边界掉落的控制 230

7.3 NPC巡逻与攻击的控制 231

7.3.1 NPC巡逻的控制 231

7.3.2 NPC攻击的控制 233

7.4 角色受伤的控制 238

7.5 动画录制与回放 241

第8章 移动设备输入控制——Star Trooper 247

8.1 加载场景 248

8.1.1 创建场景 248

8.1.2 修改工程配置 249

8.1.3 添加模型 251

8.1.4 添加旋转SunRing对象的功能 253

8.2 使用加速度计控制速度 253

8.2.1 移动设备输入控制的API 253

8.2.2 飞船运动控制 256

8.3 使用触摸屏控制射击 258

8.4 摄像机跟随控制 260

第9章 人物换装——Character Customization 265

9.1 加载场景 266

9.1.1 创建场景 266

9.1.2 添加场景元素 267

9.2 AssetBundle相关API介绍 268

9.3 打包换装部件 271

9.3.1 创建角色生成器插件 271

9.3.2 创建角色换装的基础AssetBundle 274

9.3.3 创建角色肢体部件的AssetBundle 276

9.3.4 创建材质与角色肢体部件AssetBundle的映射关系 279

9.4 加载换装部件 285

9.4.1 角色生成器类CharacterGenerator 285

9.4.2 角色生成框架 293

9.4.3 换装控制界面 295

第10章 第三人称射击游戏——Third Person MMO Controller 299

10.1 加载场景 300

10.2 添加场景元素 300

10.2.1 添加背景元素 300

10.2.2 添加主角模型 301

10.2.3 添加NPC模型 302

10.3 第三人称角色运动的控制 303

10.3.1 添加控制角色运动的功能 303

10.3.2 添加控制角色动画的功能 309

10.4 摄像机运动控制 315

10.5 NPC对象标签显示 321

第11章 赛车游戏——CarTutorial 325

11.1 加载场景 326

11.1.1 创建场景 326

11.1.2 场景元素介绍 327

11.2 加载赛车资源 329

11.2.1 载入赛车模型 329

11.2.2 设置赛车阴影效果 330

11.2.3 摄像机的移动控制 331

11.3 赛车控制 333

11.3.1 为赛车添加WheelCollider 334

11.3.2 赛车前进与转弯的控制 335

11.3.3 赛车车轮转动与转向效果实现 339

11.3.4 赛车倒车与刹车效果实现 340

11.3.5 赛车档位的控制 346

11.4 物理交互 348

11.4.1 赛车碰撞后翻车效果的实现 348

11.4.2 实现赛车行驶中刹车时滑痕的效果 350

第12章 原生2D系统游戏——2D Platformer 355

12.1 加载场景 356

12.1.1 创建场景 356

12.1.2 添加场景元素 357

12.2 创建Swan(天鹅)动画 361

12.2.1 生成天鹅的多个飞行姿态 362

12.2.2 创建Sprite Animation 363

12.2.3 天鹅随机飞动的实现 364

12.3 创建Mr.Bean(小豆人)动画 367

12.3.1 创建Mr.Bean对象 367

12.3.2 为Mr.Bean添加动画控制器 368

12.4 添加2D物理碰撞功能 370

12.4.1 为主角和前景元素添加2D物理碰撞功能 370

12.4.2 添加2D物理碰撞中的注意事项 372

12.5 游戏操控 373

12.5.1 主角运动的控制 373

12.5.2 主角射击的控制 376

12.5.3 主角与敌人对象交互的功能 377

12.5.4 游戏暂停的控制 380

第13章 新uGUI系统应用案例——Nightmares 381

13.1 新uGUI系统介绍 382

13.2 加载场景 386

13.2.1 创建场景 386

13.2.2 添加角色对象 387

13.2.3 添加控制角色运动的功能 388

13.2.4 配置摄像机参数 391

13.2.5 创建敌人对象 393

13.3 角色生命值管理 395

13.3.1 创建生命状态的GUI元素 395

13.3.2 角色生命值管理 399

13.4 角色射击和敌人生命值管理 401

13.4.1 角色射击的实现 401

13.4.2 敌人生命值管理 404

13.5 游戏分值的显示与敌人对象的动态创建 406

13.5.1 游戏分值显示 406

13.5.2 敌人对象的动态创建 407

13.6 结束游戏 410