《Unity游戏开发实战》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)梅纳德著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111377191
  • 页数:297 页
图书介绍:本书分为五部分,每一章都介绍了一个独立的概念,并且使用循序渐进的介绍和问题来讲述新的概念,还使用一个综合的游戏项目贯穿全书。本书结合Unity这种多平台的集成引擎和编辑器,介绍了如何使用Unity创建游戏、添加交互性,以及修饰游戏并发布游戏的所有知识。在本书中,读者将学到所有重要的界面命令、怎样设置和组织项目,以及创建并运行一个3D游戏的所有基础,从角色导入到脚本到声音。本书还将介绍基本的游戏和关卡设计理论和特殊的技巧。本书为读者提供了使用Unity来创建自己的游戏所需要的全面信息,适合学习游戏开发的各个阶层的读者和计算机专业的学生阅读。

第一部分 入门第1章 序 2

第2章 前言 5

2.1 本书主要内容 5

2.2 本书读者对象 5

2.3 本书结构 6

2.4 安装说明 7

2.4.1 Unity引擎 7

2.4.2 使用光盘里的内容 8

2.4.3 可选安装 8

第3章 Unity引擎概览 9

3.1 熟悉界面 9

3.1.1 Project视图 9

3.1.2 Hierarchy视图 11

3.1.3 Inspector视图 12

3.1.4 工具栏 13

3.1.5 Scene视图 14

3.1.6 Game视图 21

3.1.7 Animation视图 23

3.1.8 控制台和状态栏 24

3.1.9 性能分析器和资源服务器 24

3.1.10 定制编辑器 24

3.2 Unity的基本概念 25

3.3 可用的Unity许可证 26

3.4 编辑器小结 27

第4章 第一款游戏:从哪里开始 28

4.1 基本设计理论 28

4.2 找到核心思想 30

4.2.1 头脑风暴 31

4.2.2 研究其他的游戏 32

4.2.3 纸面原型:这并不仅仅适用于商业软件 32

4.3 进行计划 33

4.3.1 基本的大纲 33

4.3.2 一个简单的关卡文档 34

4.4 开始 37

第二部分 收集游戏资源第5章 用地形搭建舞台 40

5.1 Unity的地形引擎 40

5.2 定制地形 42

5.2.1 使用高度图来创建高度 42

5.2.2 使用笔刷来绘制高度 43

5.2.3 绘制贴图 47

5.2.4 放置树木 50

5.2.5 使用草以及细节网格让场景变得更为散乱 53

5.2.6 地形设置 57

5.3 光照和阴影 58

5.4 添加天空盒和基于距离的雾化效果 60

5.5 在地形上加入水体 62

第6章 创建环境:导入基本的定制资源 63

6.1 先设计,后创建 63

6.2 导入贴图 64

6.2.1 关于导入的更多细节 64

6.2.2 支持的格式 67

6.2.3 为《Widget》的地形导入贴图 68

6.3 导入基本网格 74

6.4 设置简单的着色器和材质 78

6.4.1 Unity提供的着色器 78

6.4.2 凹凸贴图、高光贴图、立方环境贴图和细节贴图 81

6.4.3 指定着色器和材质 83

6.4.4 创建一种定制的天空盒材质 86

6.4.5 添加水体 87

6.5 使用资源时的有用技巧 89

6.5.1 预制模型 89

6.5.2 大规模对象选择和分组 90

6.5.3 根据网格对齐 90

6.5.4 重做地形 90

第7章 创建角色 92

7.1 玩家角色基础101 92

7.2 导入角色以及其他非静态网格 92

第三部分 用交互性使道具更逼真第8章 Unity中的脚本编程 100

8.1 一个编辑器、三种语言、大量的选择 100

8.2 选择一个脚本编辑器,你是否想要它实现自动完成 101

8.3 Unity脚本编程基础 102

8.4 运算符和比较 110

8.4.1 运算符 111

8.4.2 比较 112

8.5 条件 113

8.5.1 if语句 113

8.5.2 if-else语句 114

8.5.3 switch语句 115

8.5.4 条件运算符 115

8.6 循环 116

8.6.1 for循环 116

8.6.2 while循环 116

8.7 函数 117

8.8 命名约定 120

第9章 编写角色和状态控制脚本 121

9.1 计划和设计 121

9.2 一个简单的第三人称控制器 122

9.2.1 控制器变量 123

9.2.2 Unity的MonoBehaviour类 124

9.2.3 FixedUpdate:让Widget移动 125

9.3 设置Unity的输入管理器 128

9.3.1 Input类回顾 130

9.3.2 轴的命名约定 131

9.3.3 Xbox风格控制器的设置示例 131

9.4 连接摄像机 132

9.5 装配状态控制器 135

9.5.1 协程 137

9.5.2 更新角色控制器 138

9.6 完整的脚本 139

9.6.1 Widget_Controller.js 139

9.6.2 Widget_Status.js 141

9.6.3 Widget_Camera.js 143

第10章 连接动画 145

10.1 Unity中的动画 145

10.2 动画API 145

10.3 设置玩家控制器的动画 147

10.3.1 定义问题 147

10.3.2 更新控制器 147

10.3.3 创建动画状态管理器 148

10.4 在Unity内部创建动画 151

10.4.1 一些基本概念 152

10.4.2 Animation视图 152

10.5 设置一段新的动画剪辑 153

10.5.1 创建定制动画 153

10.5.2 连接 157

10.6 添加动画事件 158

10.7 完整的脚本 159

10.7.1 Widget_Controller.js更新 159

10.7.2 Widget_Animation.js 162

第11章 使用触发器并创建环境交互 165

11.1 触发器和碰撞 165

11.2 设置一个简单的触发器对象 165

11.2.1 为了清晰而使用gizmo 168

11.2.2 背囊管理 169

11.3 设置其他类型的触发器 172

11.3.1 死亡触发器 172

11.3.2 检查点——避免死亡的触发器 173

11.4 完成的脚本 177

11.4.1 PickupItems.js 177

11.4.2 Widget_Inventory.js 178

11.4.3 DamageTrigger.js 179

11.4.4 CheckPoint.js 180

11.4.5 Widget_Status.js 181

第12章 创建探险和AI 183

12.1 人工智能:绝对人工、没多少智能 183

12.1.1 一些简单的AI指导方针 183

12.1.2 简单的工作流 184

12.2 设置一个简单的敌人 185

12.2.1 AI控制器 186

12.2.2 为一只简单的小兔子编写的简单的状态管理器 192

12.3 设置Widget的攻击 193

12.4 在完成任务后奖励玩家 195

12.5 产生和优化 197

12.6 完整代码 199

12.6.1 EBunny_AIController.js 199

12.6.2 EBunny_Status.js 202

12.6.3 Widget_AttackController.js 203

12.6.4 Enemy_RespawnPoint.js 204

第13章 设计游戏的GUI 206

13.1 基本的界面理论 206

13.1.1 交互的步骤 206

13.1.2 为用户设计 207

13.2 Unity的GUI系统 207

13.2.1 按钮 208

13.2.2 滑块 209

13.2.3 标签和框 209

13.2.4 文本输入 209

13.2.5 Toggle 210

13.2.6 工具栏和选择矩阵 210

13.2.7 窗口 211

13.3 为Widget制作定制的皮肤 212

13.3.1 创建GUISkin 212

13.3.2 定义定制风格 213

13.3.3 导入新字体 214

13.4 设置HUD 215

13.4.1 GUIContent 216

13.4.2 角色显示 220

13.4.3 分辨率 226

13.5 弹出屏幕示例 226

13.6 添加全屏菜单 229

13.7 完整和更新的脚本 232

13.7.1 GUI_CustomControls.js 232

13.7.2 GUI_HUD.js 233

13.7.3 Widget_AttackController.js 235

13.7.4 EBunny_Status.js 237

13.7.5 GUI_WaypointStore.js 238

13.7.6 WaypointBehavior.js 239

13.7.7 GUI_MainMenu.js 240

第四部分 完善和最后的修饰第14章 创建光影 244

14.1 灯光的类型 244

14.1.1 光源属性 244

14.1.2 光照基础 247

14.2 照亮游戏世界 248

14.3 创建阴影 250

14.3.1 光照图 250

14.3.2 使用阴影投射器制作的阴影 252

14.4 其他光照效果 254

14.4.1 镜头眩光 254

14.4.2 遮光 254

第15章 使用粒子系统 256

15.1 粒子:从烟到星尘 256

15.2 设置一个简单的系统 256

15.2.1 粒子发射器 257

15.2.2 粒子动画器 258

15.2.3 粒子渲染器和材质 259

15.3 高级粒子组件 261

15.3.1 世界粒子碰撞体 261

15.3.2 拖尾渲染器 261

15.3.3 线条渲染器 262

15.4 Widget的粒子 263

15.4.1 拾取物品 263

15.4.2 检查点激活 265

15.4.3 Widget的攻击 267

15.4.4 敌人爆炸 268

15.5 更新的脚本 270

15.5.1 PickupItems.js 270

15.5.2 CheckPoint.js 271

15.5.3 Widget_AttackController.js 272

15.5.4 EBunny_Status.js 273

第16章 加入声音和音乐 276

16.1 反馈和环境 276

16.2 设置一段简单的声音剪辑 277

16.2.1 环境音效 278

16.2.2 通过脚本控制声音 279

16.2.3 加入背景音乐 280

16.3 更新的脚本 281

第五部分 发行和发布版本第17章 基本的Unity调试和优化 284

17.1 Unity中的调试 284

17.1.1 Console 284

17.1.2 日志文件 285

17.2 优化 286

17.2.1 Profiler 286

17.2.2 基本代码优化 287

17.2.3 模拟 288

17.2.4 渲染Statistics页面 288

17.2.5 压缩文件 290

17.2.6 优化图形的其他方式 291

第18章 创建最终版本 292

18.1 准备版本 292

18.1.1 设置播放器 292

18.1.2 设置Application类 293

18.1.3 版本设置 294

18.2 其他版本特性 295

18.2.1 新的资源和DLC 296

18.2.2 打包资源以便今后使用 296

18.3 展望 297