当前位置:首页 > 工业技术
Unity 2D游戏开发从入门到精通
Unity 2D游戏开发从入门到精通

Unity 2D游戏开发从入门到精通PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:王震,喻珊,张扬编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302389651
  • 页数:305 页
图书介绍:本书是国内第一本专门讲解Unity 2D游戏开发的图书。全书遵循实际开发流程,全面讲解2D游戏开发的各个方面。内容包括材质、纹理、编辑器类、图片、几何图形对象、纹理图集、UV、动画、摄像机、场景、用户输入、网络连线等方面。讲解时以详尽的操作演示,帮助Unity开发者尽快熟悉2D开发组件的使用。同时,还详细讲解重要概念,以便于初学者提早进入开发领域。
《Unity 2D游戏开发从入门到精通》目录

第1篇 战机游戏——飞船大战外星人 2

第1章 Unity及其组成的介绍 2

1.1 Unity概述 2

1.2 项目、资源和场景 4

1.2.1 项目 5

1.2.2 资源 6

1.2.3 场景 8

1.3 场景视图的操作 8

1.3.1 使用快捷键操作场景视图 9

1.3.2 使用Gizmo操作场景视图 10

1.4 游戏对象和组件 11

1.5 脚本与脚本编辑器 13

1.5.1 创建脚本 13

1.5.2 脚本编辑器 13

1.6 脚本的调试 16

1.6.1 调试方法一 16

1.6.2 调试方法二 18

第2章 材质和纹理 19

2.1 材质和纹理的使用 19

2.1.1 使用材质 19

2.1.2 不同的材料类型——着色器 22

2.1.3 使用纹理 23

2.2 应用于2D游戏的材质 25

2.2.1 缘由 25

2.2.2 技巧一:使用白色的环境光 25

2.2.3 技巧二:使用光不敏感着色器 26

2.3 纹理使用规则 28

2.3.1 规则1:分辨率是2的次方 28

2.3.2 规则2:保证“质量” 29

2.3.3 规则3:增加阿尔法通道(Alpha Channel) 30

2.4 导入纹理 31

2.4.1 导入纹理时默认设置介绍 31

2.4.2 含有透明信息的纹理 32

第3章 着手开发一个简单的2D游戏 34

3.1 开始开发2D游戏 34

3.1.1 导入纹理资源 34

3.1.2 新建材质资源 35

3.1.3 修改场景的环境光及游戏时的屏幕尺寸 36

3.2 为场景添加游戏对象 38

3.2.1 调整游戏对象的角度 38

3.2.2 改变游戏对象的位置 39

3.2.3 游戏对象的“碰撞”组件 39

3.3 让飞船动起来 41

3.4 让飞船发射子弹 42

3.4.1 在场景中添加子弹 42

3.4.2 游戏时,让子弹在场景中移动 44

3.4.3 生成子弹的预设 46

3.4.4 设置子弹的发射位置 47

3.4.5 在恰当的时机发射子弹 48

3.5 让外星飞船动起来 51

3.5.1 编写脚本 51

3.5.2 设置外星飞船的触发器 52

3.5.3 为子弹预设添加刚体组件 53

3.6 为游戏添加背景 54

第2篇 卡片游戏——记忆大作战 58

第4章 使用编辑器类自定义编辑器 58

4.1 编辑器类 58

4.2 开始使用编辑器类编写工具 58

4.2.1 为项目添加脚本 58

4.2.2 创建指定名称的文件夹 59

4.3 把工具添加到菜单 60

4.3.1 CreateWizard()函数 60

4.3.2 测试脚本的实现效果 60

4.4 读取场景中选择的对象 62

4.4.1 在脚本中使用Selection类 62

4.4.2 测试脚本的实现效果 63

4.5 为工具窗口添加用户输入框 63

4.6 完成工具的所有功能 64

第5章 图片与几何图形对象 67

5.1 2D游戏常用的图片 67

5.1.1 精灵 67

5.1.2 图块集 67

5.1.3 图形绘制中的问题 68

5.1.4 设想 69

5.2 开始编写编辑器工具 69

5.3 设置四边形的轴点 71

5.4 指定四边形资源的存放路径 75

5.5 生成四边形 76

5.5.1 阶段一:创建构成四边形的顶点、UV和三角形 76

5.5.2 阶段二:在资源面板中生成四边形 78

5.5.3 阶段三:在场景中实例化一个四边形 79

5.6 使用四边形生成工具 80

第6章 生成纹理图集 83

6.1 为什么要使用纹理图集 83

6.1.1 降低绘制调用的次数 83

6.1.2 便于灵活使用纹理 84

6.1.3 便于管理纹理 84

6.2 开始编写生成纹理图集的工具 85

6.3 添加组成纹理图集的纹理 86

6.4 UV对纹理图集的重要性 88

6.5 生成纹理图集 90

6.5.1 步骤一:优化输入的纹理 90

6.5.2 步骤二:构建纹理图集 92

6.5.3 步骤三:保存图集的预置 92

6.6 脚本文件TexturePacker代码汇总 93

6.7 测试工具的使用效果 95

第7章 UV和动画 98

7.1 生成一个可停靠的编辑器 98

7.2 编辑工具窗口的界面 100

7.2.1 添加预置资源选择区域 100

7.2.2 添加纹理选择区域 102

7.2.3 添加纹理选择的两种方式 103

7.2.4 编写用于修改网格对象UV坐标的函数 105

7.2.5 添加应用所有设置的按钮 106

7.3 工具脚本代码的汇总与使用 107

7.4 一个播放动画的平面对象 112

第8章 益于2D游戏的摄像机与场景设置 118

8.1 摄像机类型:透视与正交 118

8.2 世界单元与像素 120

8.3 世界单元与像素的转换 122

8.3.1 添加纹理和四边形对象 122

8.3.2 调整四边形与摄像机的位置 123

8.3.3 世界单元:像素=1∶1 124

8.3.4 对齐屏幕和场景坐标的原点 125

8.4 纹理图片的完美显示 127

8.5 其他有用的设置技巧 128

8.5.1 调节深度 128

8.5.2 合成视图 130

第9章 获取玩家对2D游戏的输入 134

9.1 自动检测鼠标单击事件 134

9.2 手动检测鼠标单击事件 137

9.2.1 鼠标按下的键及其位置 137

9.2.2 鼠标单击的第一个对象 138

9.2.3 鼠标单击的所有对象 139

9.3 修改游戏中的鼠标图标 141

9.3.1 准备所需的资源,并做适当设置 141

9.3.2 编写脚本 143

9.3.3 两个坐标系导致的问题 144

9.3.4 查看游戏视图中的效果 145

9.4 使用键盘控制鼠标移动 147

9.5 对游戏输入的抽象——输入轴 149

9.5.1 了解输入轴 149

9.5.2 输入轴在输入过程中的应用 150

9.6 来自移动设备的输入 152

9.6.1 检测移动设备上的触摸操作 152

9.6.2 把触摸操作当作鼠标操作 153

9.6.3 有选择的编译代码 154

第10章 2D卡片游戏——记忆大作战 156

10.1 游戏设计的文档 156

10.2 开始着手创建游戏 157

10.2.1 在资源面板中创建文件夹 157

10.2.2 创建一个纹理图集 158

10.2.3 创建四边形对象 160

10.2.4 修改四边形的材质和UV 161

10.2.5 设置摄像机和游戏视图的分辨率 163

10.3 设置场景中的卡片 165

10.3.1 设置卡片的属性 165

10.3.2 定位卡片的位置 167

10.3.3 编写控制卡片行为的脚本 168

10.3.4 补全场景中其余的卡片 171

10.4 游戏管理类 171

10.4.1 重置卡片 172

10.4.2 处理玩家输入 173

10.4.3 响应玩家输入 174

10.4.4 游戏管理类代码汇总 175

10.5 完善并运行游戏 179

10.5.1 替换系统鼠标图标 180

10.5.2 游戏运行效果展示 180

第11章 可联机玩的游戏——记忆大作战 183

11.1 网络连接 183

11.2 建立服务器端 184

11.3 建立客户端 185

11.4 测试网络连接的功能 187

11.5 网络视图组件 189

11.6 构建授权服务器 191

11.7 建立游戏输入操作的秩序 192

11.7.1 游戏启动时,禁止输入操作 193

11.7.2 连接建立后,允许服务器端的输入操作 193

11.7.3 服务器端远程调用客户端上的函数 193

11.7.4 客户端远程调用服务器端上的函数 194

11.8 修改游戏管理类脚本 195

11.9 游戏运行效果展示 200

11.10 为游戏添加分数记录 201

第12章 优化游戏的方法 204

12.1 最优化,如你所想吗 204

12.2 减少顶点的数目 205

12.3 减少材质 206

12.4 减少UV接缝 207

12.5 不同平台下,纹理的不同设置 208

12.6 对象缓存组件 209

12.7 避免频繁使用Update()函数 209

12.8 合理使用Collider组件 209

12.9 避免使用OnGUI()和GUI类 210

12.10 使用静态批处理 210

12.11 使用天空盒子 210

第3篇 实时策略类游戏——狂怒坦克 214

第13章 创建一个简单的2D游戏 214

13.1 地面 214

13.2 游戏精灵 217

13.3 精灵动画 220

13.3.1 Animation 220

13.3.2 Animator 223

13.4 使用脚本实现游戏逻辑 225

13.4.1 精灵动画状态的控制 226

13.4.2 监听精灵当前的动画状态 227

13.5 2D游戏的运行效果 230

第14章 为游戏精灵添加更多状态 232

14.1 摄像头追踪功能 232

14.2 精灵的死亡和重生 235

14.3 添加多个地面 240

14.4 精灵的跳跃状态 241

14.5 精灵的开火状态 248

第15章 让游戏精灵不再孤单 253

15.1 为游戏添加反派角色 253

15.2 精灵与反派角色碰撞后死亡 257

15.3 精灵主动攻击反派角色 259

15.4 添加反派角色销毁时的效果 261

15.5 添加多个反派角色到游戏中 263

第16章 为游戏添加更多背景元素 265

16.1 为游戏场景补充更多元素 265

16.1.1 限制精灵的移动范围 265

16.1.2 添加背景元素 267

16.1.3 让背景元素动起来 268

16.1.4 让粒子效果显示在前面 270

16.2 记录分数 272

16.3 动态生成更多的敌人 274

第17章 终极战斗 278

17.1 引入究极敌人 278

17.2 究极敌人的行为逻辑 279

17.3 让究极敌人的出场更威风些 283

17.4 究极敌人的攻击方式 286

17.5 玩家精灵的反击 289

第18章 让游戏更完善 296

18.1 游戏关卡 296

18.2 游戏标题及开始按钮 299

18.2.1 导入标题和按钮资源 299

18.2.2 表示游戏状态的类 300

18.2.3 单击开始按钮,进入游戏 302

18.2.4 游戏最终运行效果展示 305

返回顶部