《移动开发经典丛书 Unity 2D游戏开发秘籍》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)约翰逊著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302413622
  • 页数:271 页
图书介绍:Unity引擎概览、第一款游戏:从哪里开始、用地形搭建舞台、创建环境:导入基本的定制资源、创建角色、Unity中的脚本编程、编写角色和状态控制脚本、连接动画、使用触发器并创建环境交互、创建探险和AI、设计游戏的GUI、创建光影、使用粒子系统、加入声音和音乐、基本的Unity调试和优化、创建最终版本。

第1章 设置Unity开发环境 1

1.1 欢迎屏幕 1

1.2 Unity界面 2

1.2.1 菜单 2

1.2.2 工具栏 9

1.2.3 Hierarchy 10

1.2.4 Inspector 10

1.2.5 Project Browser 11

1.2.6 Scene View 12

1.2.7 Game View 13

1.3 小结 13

1.4 练习 14

第2章 了解资产创作 15

2.1 文件格式 15

2.1.1 3D格式 15

2.1.2 2D格式 16

2.2 导入资产 16

2.2.1 从Unity内部导入 16

2.2.2 从文件浏览器导入预制资产 17

2.2.3 创建新资产 17

2.3 导入包 18

2.3.1 Unity包 18

2.3.2 定制包 18

2.4 GameObject 19

2.4.1 第一个GameObject 20

2.4.2 创建GameObject 21

2.5 组件 22

2.5.1 创建组件 23

2.5.2 分配组件 23

2.5.3 预设 24

2.6 小结 24

2.7 练习 25

第3章 创建2D精灵 27

3.1 在2D模式下工作 27

3.1.1 2D行为 28

3.1.2 2D工作区 28

3.2 创建精灵 29

3.2.1 Import Settings 29

3.2.2 Pixels To Units 30

3.2.3 Sprite Editor 30

3.3 精灵打包 32

3.3.1 Packing Tag 33

3.3.2 Sprite Packer 33

3.3.3 额外的Sprite Packing资源 34

3.4 小结 34

3.5 练习 35

第4章 构建游戏世界 37

4.1 关卡设计入门 37

4.1.1 设置场景 37

4.1.2 创建路线图 38

4.1.3 添加细节 39

4.2 四处逛逛我们的场景 39

4.2.1 Scene Gizmo 40

4.2.2 透视与等距 40

4.2.3 摄像机控制 40

4.3 在Unity中操纵对象 41

4.3.1 变换工具 42

4.3.2 Z深度 43

4.3.3 设置 45

4.4 我们的第一个关卡 45

4.4.1 手动定位GameObject 46

4.4.2 使用Snap Settings放置GameObject 47

4.4.3 使用Grid Snapping放置GameObject 47

4.4.4 高效关卡设计 48

4.4.5 添加排序元素 48

4.5 继续 50

4.6 小结 50

4.7 练习 51

第5章 运动和玩家控制基础 53

5.1 在Unity3D中编码 53

5.1.1 3种语言 53

5.1.2 选择“正确”的语言 54

5.2 使玩家动起来 54

5.2.1 处理运动的不同方式 54

5.2.2 创建和挂接PlayerController 56

5.3 设置基本的跟随摄像机 63

5.4 介绍Input Manager 63

5.5 错误处理和调试 65

5.5.1 处理异常 65

5.5.2 Try-Catch-Finally——优雅地处理异常 66

5.5.3 Debug.Log() 68

5.5.4 使用断点暂停代码执行 68

5.6 小结 71

5.7 练习 71

第6章 为场景添加动画 73

6.1 动画的一些规则 73

6.1.1 动画原则 73

6.1.2 2D与3D动画 74

6.1.3 变换与帧动画 74

6.1.4 脚本动画 75

6.1.5 导入动画 76

6.2 创建动画 76

6.2.1 动画组件 77

6.2.2 动画剪辑 77

6.2.3 Animation窗口 78

6.2.4 动画事件 82

6.3 动画状态 83

6.3.1 动画器控制器 83

6.3.2 动画器组件 84

6.3.3 Animator窗口 84

6.3.4 编辑玩家控制器 86

6.4 使用状态机 89

6.4.1 转换 89

6.4.2 任意状态 90

6.4.3 混合树 90

6.5 小结 90

6.6 练习 90

第7章 设置玩家物理和碰撞器 93

7.1 了解物理学 93

7.1.1 质量 93

7.1.2 重力 94

7.1.3 力 94

7.2 2D与3D 94

7.2.1 6DoF 94

7.2.2 Z深度 94

7.2.3 旋转 95

7.3 Physics 2D Settings 95

7.3.1 通用物理设置 95

7.3.2 图层碰撞矩阵 96

7.4 刚体 97

7.5 碰撞器 98

7.5.1 Circle Collider 98

7.5.2 Box Collider 99

7.5.3 Edge Collider 99

7.5.4 Polygon Collider 99

7.6 物理材质 100

7.7 约束 101

7.8 小结 105

7.9 练习 105

第8章 创建和应用玩法系统 107

8.1 Unity的触发器体(Trigger Volume) 107

8.1.1 Trigger2D函数 107

8.1.2 为GameObject添加触发器组件 108

8.2 创建检查点 108

8.2.1 为Checkpoint Component编写脚本 108

8.2.2 调整检查点触发器的尺寸和位置 109

8.3 使用检查点与重生 111

8.3.1 准备Pit触发器体(Trigger Volume) 111

8.3.2 为Pit触发器组件编写脚本 112

8.4 创建收集物品 114

8.4.1 为收集物品准备浮动硬币预设 115

8.4.2 为CoinPickup组件编写脚本 115

8.4.3 为收集物品准备弹出硬币预设 116

8.4.4 准备硬币盒预设 117

8.4.5 为硬币盒组件编写脚本 119

8.4.6 为CoinSpawner组件编写脚本 120

8.4.7 整合游戏 121

8.4.8 少许优化 122

8.5 跟踪玩家的统计 123

8.6 小结 125

8.7 练习 125

第9章 创建危险和困难 127

9.1 创建第一个敌人 127

9.1.1 准备Slime敌人GameObject 127

9.1.2 继承和EnemyController组件 128

9.1.3 为敌人Slime组件编写脚本 129

9.1.4 为关卡添加墙壁 131

9.1.5 处理与其他Slime的碰撞 132

9.1.6 为Slime添加动画 133

9.2 处理伤害 134

9.2.1 在PlayerStats组件编写脚本伤害 134

9.2.2 创建伤害触发器 135

9.2.3 穿过玩家的空间 136

9.2.4 为Pit添加伤害 137

9.2.5 添加受到伤害后暂时免疫 138

9.2.6 免疫视觉表现,古典办法 140

9.3 处理玩家死亡 142

9.4 扩展平台 143

9.4.1 准备移动平台预设 143

9.4.2 编写Flight Point组件脚本 144

9.5 创建第二种敌人 146

9.5.1 准备Fly敌人GameObject 146

9.5.2 将动画添加到Fly 147

9.5.3 编写FlyController组件的脚本 148

9.5.4 调整FlightPoints脚本 149

9.6 维护敌人部署 150

9.6.1 准备出生触发器 151

9.6.2 编写出生触发器组件的脚本 151

9.7 浅谈挑战 153

9.8 小结 153

9.9 练习 153

第10章 创建菜单和界面元素 155

10.1 UI设计 155

10.1.1 diegetic 155

10.1.2 non-diegetic 156

10.1.3 meta 156

10.1.4 spatial 156

10.2 Unity原生(Native)GUI 156

10.2.1 GUI Style(样式) 157

10.2.2 GUI Skin 157

10.2.3 GUI控件 158

10.2.4 Compound Controls(复合控件) 158

10.2.5 GUI Class 158

10.2.6 GUI Layout 159

10.2.7 GUI Text 159

10.2.8 GUI Texture 159

10.3 创建闪屏 160

10.4 标题屏幕 161

10.5 游戏结束屏幕 162

10.6 游戏胜利屏幕 163

10.7 HUD 164

10.7.1 创建视觉 165

10.7.2 创建脚本 166

10.8 小结 172

10.9 练习 172

第11章 为GameObjects应用效果 173

11.1 Shuriken粒子系统介绍 173

11.1.1 术语解析 173

11.1.2 创建粒子系统 174

11.2 粒子系统的模块和属性 175

11.2.1 粒子系统基本属性 175

11.2.2 其他粒子系统模块 176

11.2.3 粒子系统曲线 176

11.3 给游戏添加粒子特效 177

11.3.1 为硬币箱创建粒子特效 177

11.3.2 连接硬币箱粒子特效 179

11.3.3 为伤害创造粒子特效 180

11.3.4 通过代码调用Damage Particle System 182

11.3.5 粒子小乐趣 183

11.4 Unity的音频系统 183

11.4.1 音频源组件 184

11.4.2 音频监听器组件 185

11.4.3 音频混响区组件 186

11.5 为玩家添加声音 186

11.5.1 为行走循环添加脚步声 186

11.5.2 为跳跃事件添加声音 188

11.5.3 为伤害事件添加声音 189

11.6 为收集系统添加声音 191

11.6.1 为硬币箱使用音效 191

11.6.2 为收集硬币添加声音 191

11.7 应用些许优化 192

11.7.1 改进摄像机 192

11.7.2 改进玩家死亡 195

11.8 小结 199

11.9 练习 199

第12章 组织和优化 201

12.1 组织资产 201

12.1.1 组织预设 202

12.1.2 标签 202

12.1.3 层次 203

12.2 组织脚本和代码 205

12.2.1 组织脚本文件 206

12.2.2 组织代码 206

12.3 优化 213

12.3.1 预设 213

12.3.2 物理学 214

12.3.3 绘制调用 215

12.3.4 三角形数量 216

12.3.5 批处理 217

12.3.6 Rendering Statistics窗口 217

12.4 小结 218

12.5 练习 218

第13章 整合所有内容 221

13.1 把关卡连接在一起 221

13.1.1 准备胜利触发器预设 221

13.1.2 创建胜利触发器脚本 223

13.1.3 获取硬币值 225

13.2 连接“介绍”屏幕 226

13.3 赢或输:重回游戏 228

13.3.1 从游戏结束恢复 228

13.3.2 胜利后从头开始 230

13.4 生成和部署游戏 231

13.4.1 Web Player的Build Settings 232

13.4.2 PC、Mac和Linux Build Settings 232

13.4.3 跨平台播放器的设置 233

13.4.4 Web Player的Player Settings 233

13.4.5 正确设置游戏 234

13.4.6 生成Web Player的游戏 235

13.4.7 将游戏部署到Web 235

13.4.8 部署后 235

13.5 前进 236

13.5.1 打磨游戏的注意事项 236

13.5.2 货币化 236

13.6 最后的话 238

第14章 UGUI 241

14.1 UGUI组件 241

14.2 创建示例界面 242

14.2.1 Canvas组件 243

14.2.2 Rect Transform 245

14.2.3 UI Rect工具 247

14.2.4 添加Mask组件 248

14.2.5 Event System和事件触发器 248

14.3 小结 249

附录 JavaScript代码示例 251

玩家脚本 251

收集脚本 257

敌人脚本 258

游戏系统脚本 260

GUI脚本 263

危险脚本 268

系统脚本 270