第1章 这是一个神奇的工具 1
1.1 Unity 3D简介 1
1.2 风靡全球的Unity 1
1.3 基于浏览器的3D?欢迎来到未来 2
1.4 实践时刻——安装Unity网络播放器 2
1.5 欢迎来到Unity 3D 3
1.5.1 可以用Unity制作什么呢 3
1.5.2 完全搞定 3
1.5.3 我们应该尝试制作《FusionFall》吗 4
1.5.4 另一种选择 4
1.5.5 我选择Wooglie 6
1.6 先走后跑(或双脚跳) 7
1.7 永远没有“终点” 8
1.8 停一下!工具时间 8
1.9 技术的神奇之处 10
1.10 Scene窗口 11
1.10.1 Game窗口 11
1.10.2 Hierarchy面板 12
1.11 别停下来——享受一下 16
1.12 小结 17
第2章 让我们从天空开始 19
2.1 灵感 20
2.2 3D诱惑 20
2.3 功能VS内容 21
2.4 没有任何功能的游戏 21
2.5 机制VS主题 22
2.6 被困在自己的主题中 22
2.7 非凡的趣味性 23
2.8 百分之一的灵感 23
2.9 《太空采矿机》 23
2.10 注意 25
2.11 《Artillery Live!》 26
2.12 《Pong》 29
2.13 适合上千款游戏的机制 31
2.14 玩具还是故事 33
2.15 重新定义天空 34
2.16 小结 34
第3章 游戏#1:《Ticker Taker》 36
3.1 构建新Unity项目 36
3.2 'Tis volley 38
3.3 让美梦成真 38
3.4 一种古老的方法 39
3.5 颠球游戏的多方面 39
3.6 制作球和击球手 40
3.7 实践时刻——制作一个球 40
3.8 重命名球 41
3.9 实践时刻——为球重命名 42
3.10 原点介绍 42
3.11 实践时刻——将球移到空中 43
3.12 实践时刻——将球缩小 44
3.13 实践时刻——保存场景 45
3.14 实践时刻——添加球拍 46
3.14.1 网格 47
3.14.2 多边形是否会破坏游戏性能 49
3.15 让自己处于黑暗中 49
3.16 实践时刻——添加光源 50
3.17 实践时刻——移动并旋转光源 51
3.18 你是杰出人物吗 54
3.18.1 谁把灯关了 54
3.18.2 黑暗统治 54
3.19 实践时刻——相机工坊 54
3.20 实践时刻——测试游戏 55
3.21 让游戏对象动起来 56
3.22 实践时刻——在游戏中添加动作 56
3.23 了解这种情况的严重性 57
3.24 让球多次反弹 57
3.25 实践时刻——让球弹起来 58
3.26 小结 61
第4章 代码 62
4.1 什么是代码 62
4.2 实践时刻——编写自己的第一个Unity脚本 62
4.3 大胆一试 64
4.4 将脚本和游戏对象绑定 65
4.5 我完全不懂 65
4.6 你再也不会挨饿了 66
4.7 好代码需要遵循的规则 67
4.8 代码的检查 67
4.9 实践时刻——查找网格渲染器组件 68
4.10 实践时刻——让球重新出现 69
4.11 再次重申 69
4.12 实践时刻——Unity脚本参考之旅 70
4.13 Renderer类 71
4.14 “哼”的同义词是什么 73
4.15 这是很有意思的 74
4.16 实践时刻——将脚本解绑 75
4.17 取消,但不要忘记 75
4.18 为什么要用代码 76
4.19 用代码控制游戏对象 76
4.20 实践时刻——创建新mousefollow脚本 76
4.21 好主意 78
4.22 用代码制作动画效果 79
4.23 实践时刻——为球拍制作动画 79
4.24 选择一个单词——(几乎可以是)任何词 81
4.25 屏幕坐标VS全局坐标 81
4.26 移动球拍 83
4.27 最差的游戏 83
4.28 了解矩阵 83
4.29 实践时刻——听球拍的 83
4.30 一点点数学知识 84
4.31 数字的追踪 84
4.32 修改这些数字 85
4.33 实践时刻——记录新数字 85
4.34 付诸行动 86
4.35 使用变量存储重复值 86
4.36 实践时刻——声明存储屏幕中心的变量 87
4.37 使用3D屏幕的所有D 88
4.38 实践时刻——追踪鼠标的Y位置 89
4.39 无聊的颠球游戏 90
4.40 再次挑战自我 90
4.41 实践时刻——再次访问Unity语言参考 90
4.42 我们的工作到此为止 91
4.43 实践时刻——将示例代码添加到脚本中 92
4.44 最后的调整 94
4.45 合理的分析 94
4.46 得到target 96
4.47 继续努力吧 97
第5章 游戏#2:《机械修复手》 99
5.1 可以完全翻转 100
5.2 新建项目 101
5.3 创建场景 101
5.4 实践时刻——创建两个场景 101
5.5 没有正确的答案 103
5.6 实践时刻——准备GUI 103
5.7 跟着你自己的节奏 104
5.8 实践时刻——创建并连接自定义GUI外观 105
5.9 实践时刻——创建UI按钮控件 107
5.10 是否想要自定义字体 110
5.11 覆盖素材 111
5.12 实践时刻——禁止mip贴图 112
5.13 位于最突出的位置 113
5.14 实践时刻——将按钮居中 114
5.15 进入game场景 116
5.26 实践时刻——将这两个场景添加到构建列表中 117
5.17 为机器人提供舞台 118
5.18 实践时刻——准备game场景 118
5.19 游戏创意 119
5.20 创建类 120
5.21 实践时刻——要素的存储 121
5.22 开始吧 122
5.23 使代码可循环 123
5.24 循环的分解 123
5.25 嵌套是最好的 124
5.26 眼见为实 126
5.27 实践时刻——创建存储网格的区域 126
5.28 创建网格 127
5.29 我们已经学习了很多知识 129
第6章 游戏#2:《机械修复手》第2部分 130
6.1 从头开始制作游戏 130
6.2 找到中心点 131
6.3 实践时刻——将游戏网格垂直居中 132
6.4 实践时刻——将游戏网格水平居中 134
6.5 深入问题本质 136
6.6 实践时刻——准备创建卡片组 137
6.7 实践时刻——创建卡片组 138
6.8 实践时刻——修改img参数 141
6.9 “this”到底是什么呢 143
6.10 随机占据绝对优势 145
6.11 划去第二项 146
6.12 是时候完全翻转了 146
6.13 实践时刻——将卡片做成双面的 146
6.14 实践时刻——创建卡片翻转函数 148
6.15 实践时刻——创建卡片翻转函数 150
6.16 吃南瓜的人 152
6.17 再去掉一项吧 153
6.18 游戏和配对 153
6.19 实践时刻——为卡片提供ID值 153
6.20 实践时刻——比较ID值 154
6.21 迎接最后的挑战 157
6.22 实践时刻——检查是否胜利 158
6.23 放马过来吧 161
第7章 不是时钟拦截器 166
7.1 施加压力 166
7.2 实践时刻——准备clockScript脚本 167
7.3 实践时刻——准备倒计时文本 167
7.4 实践时刻——修改倒计时文本的颜色 168
7.5 实践时刻——创建字体纹理和材质 169
7.6 实践时刻——小小的字体有什么用呢 172
7.7 实践时刻——准备倒计时代码 173
7.8 实践时刻——创建倒计时逻辑 174
7.9 实践时刻——在屏幕中显示时间 176
7.10 将它图形化 178
7.11 实践时刻——获取图形倒计时的图形 178
7.12 实践时刻——显示GUI的功能 180
7.13 神奇的缩减倒计时 184
7.14 拿起叉子——饼来了 184
7.15 他们如何制作这种倒计时呢 185
7.16 实践时刻——拼凑纹理 186
7.17 实践时刻——编写饼图脚本 187
7.18 实践时刻——开始操作饼图倒计时 190
7.19 实践时刻——定位并缩小倒计时 192
7.20 未完成的工作 194
第8章 《Ticker Taker》 195
8.1 欢迎来到Snoozeville 195
8.2 实践时刻——研究模型 197
8.3 实践时刻——准备行动 200
8.4 实践时刻——修改FBX导入缩放设置 201
8.5 实践时刻——让网格碰撞器凸起 202
8.6 实践时刻——让手和托盘随鼠标移动 203
8.7 实践时刻——添加heart游戏对象 203
8.8 实践时刻——删除球和球拍 206
8.9 实践时刻——提供材质 206
8.10 让游戏在三维空间中显示 210
8.11 实践时刻——创建几堵墙 210
8.12 实践时刻——创建一个字体纹理 212
8.13 实践时刻——创建HeartBounce脚本 213
8.14 实践时刻——给托盘设置标记 214
8.15 实践时刻——调整反弹 215
8.16 实践时刻——记录反弹 216
8.17 实践时刻——添加失败条件 217
8.18 实践时刻——添加Play Again按钮 219
第9章 游戏#3:《The Break-Up》 223
9.1 实践时刻——炸弹来了 224
9.2 实践时刻——设置粒子的参数 227
9.3 实践时刻——创建Spark材质 229
9.4 实践时刻——创建预制 231
9.5 实践时刻——灯光、摄像头、公寓 233
9.6 实践时刻——添加角色 234
9.7 实践时刻——注册动画 235
9.8 实践时刻——为角色添加脚本 236
9.9 实践时刻——打开分离舱门,哈尔 238
9.10 实践时刻——允许角色碰撞 239
9.11 实践时刻——重新设置Character预制 240
9.12 实践时刻——现代启示录吗 240
9.13 实践时刻——让炸弹爆炸 241
9.14 实践时刻——碰撞点 244
9.15 实践时刻——将爆炸与炸弹连接起来 244
9.16 小结 245
第10章 游戏#3:《The Break-Up》第2部分 246
10.1 实践时刻——收集玻璃 246
10.2 实践时刻——创建一个粒子系统 247
10.3 实践时刻——让它更锋利 249
10.4 实践时刻——控制爆炸 250
10.5 实践时刻——使用同一个脚本 251
10.6 不同的速度 254
10.7 极速是不可能实现的——让炸弹下落的速度更快 254
10.8 实践时刻——标记对象 255
10.9 实践时间——编写碰撞检测代码 256
10.10 实践时间——动画中断 257
10.11 实践时刻——添加面部爆炸 258
10.12 实践时刻——创建声音 259
10.13 实践时刻——在FallingObjectScript中添加声音 260
10.14 catch 261
10.15 实践时刻——把音效混合起来 262
10.16 小结 265
第11章 游戏#4:《Shoot the Moon》 266
11.1 实践时刻——复制游戏项目 267
11.2 实践时刻——创建游戏的背景空间 267
11.3 实践时刻——创建heroShip 271
11.4 实践时刻——这是一个碰撞 273
11.5 实践时刻——引入敌方飞船 275
11.6 实践时刻——干一些杂活 277
11.7 实践时刻——修改物体的降落 278
11.8 实践时刻——修改HeroShip脚本 279
11.9 实践时刻——删除重复的重定位代码 282
11.10 实践时刻——想要射击了 284
11.11 实践时刻——设置子弹的外观 285
11.12 实践时刻——创建光晕 285
11.13 实践时刻——开火 288
11.14 实践时刻——修改检测碰撞的代码 290
11.15 实践时刻——神奇的参数 292
11.16 实践时刻——添加最重要的部分:太空发射器 293
11.17 小结 294
11.18 意犹未尽 295
第12章 动作 296
12.1 心内直视手术 296
12.2 实践时刻——在场景中添加hallway模型 297
12.3 实践时刻——添加第二个摄像头 298
12.4 实践时刻——调整主摄像头 300
12.5 实践时刻——装饰走廊 300
12.6 实践时刻——打开灯 301
12.7 实践时刻——创建摄像头绑定 307
12.8 实践时刻——为bouncer游戏对象创建动画 309
12.9 实践时刻——我要让它移动 310
12.10 实践时刻——为runner制作动画 312
12.11 实践时刻——如何“处理”Slipperfoot护士 314
12.12 实践时刻——你让我转太多圈了 316
12.13 实践时刻——部署游戏 317
12.14 需要时间来成长 319
12.15 本书之外的知识 320
附录A 参考资料 321