目 录
第1章 游戏与游戏引擎 1
1.1 游戏引擎——它们是什么 1
1.1.1 建造房子的第一种方法 2
1.1.2 建造房子的第二种方法 3
1.1.3 关于第一种方法 3
1.1.4 关于第二种方法 3
1.1.5 结论 4
1.2 历史上的游戏引擎 4
1.3 今天的游戏引擎 5
1.4 Unity游戏引擎 6
1.5 本章小结 7
第2章 Unity简介 9
2.1 安装Unity 9
2.2 Unity配置 10
2.3 脚本编辑器:Visual Studio 12
2.4 浏览Unity界面 12
2.5 了解不同的视图 13
2.6 配置和自定义布局 15
2.7 Transform Toolset 15
2.8 Handle Position Controls 16
2.9 Play、Pause和 Step控制按钮 17
2.10 Unity项目结构 18
2.11 Unity文档 19
2.12 本章小结 19
第3章 Unity基础 21
3.1 Game Object:容器实体 21
3.2 Entity-Component Design 22
3.3 Components: Building Blocks 23
3.4 精灵 24
3.5 动画 30
3.6 碰撞器(Collider) 35
3.7 Rigidbody(刚体)组件 36
3.8 标签和层 37
3.8.1 标签(Tag) 37
3.8.2 层(Layer) 38
3.8.3 Sorting Layer(排序层) 39
3.9 预制件(Prefab)介绍 41
3.10 脚本:组件逻辑 43
3.11 状态和动画 50
3.11.1 多状态机 50
3.11.2 动画参数 52
3.12 本章小结 60
第4章 构建游戏世界 61
4.1 Tilemap和Tile Palette 61
4.2 创建Tile Palette 62
4.3 用Tile Palette绘制地图 64
4.4 使用多个Tilemap 66
4.5 图形设置 69
4.6 摄像机 70
4.7 使用Cinemachine 73
4.8 虚拟摄像机 75
4.9 稳定性 82
4.10 材质 85
4.11 碰撞器和Tilemap 86
4.11.1 Tilemap Collider 2D 86
4.11.2 复合碰撞器 88
4.11.3 编辑Physics Shape 90
4.12 本章小结 93
第5章 整合游戏 95
5.1 Character类 95
5.2 Player类 96
5.3 聚焦预制件 97
5.3.1 创建硬币预制件 98
5.3.2 设置Circle Collider 2D 98
5.3.3 设置自定义标签 99
5.4 基于层的碰撞检测 100
5.5 触发器和脚本 102
5.6 Scriptable Object(脚本化对象) 103
5.6.1 创建一个Scriptable Object 104
5.6.2 构建Consumable脚本 107
5.6.3 组装我们的道具 108
5.6.4 玩家碰撞 109
5.6.5 创建用于增加生命值的道具(Heart Power-Up) 111
5.7 本章小结 116
第6章 生命条与背包 117
6.1 创建生命条 117
6.1.1 Canvas对象 117
6.1.2 UI元素 117
6.1.3 构建生命条 118
6.1.4 锚点 120
6.1.5 调整锚点 121
6.1.6 用户界面图像遮罩(UI Image Mask) 123
6.1.7 导入自定义字体 126
6.1.8 添加生命值文本 126
6.1.9 编写HealthBar.cs脚本 128
6.1.10 Scriptable Object:HitPoints 128
6.1.11 更新Character.cs脚本 129
6.1.12 更新Player.cs脚本 129
6.1.13 创建HealthBar.cs脚本 133
6.1.14 配置Health Bar组件 135
6.2 背包 138
6.2.1 导入背包格子图像 140
6.2.2 配置背包格子 141
6.2.3 创建Inventory.cs脚本 147
6.3 本章小结 157
第7章 角色、协程和生成点 159
7.1 创建Game Manager 159
7.2 单例(Singleton) 159
7.2.1 创建单例 160
7.2.2 创建RPGGameManager预制件 162
7.3 Spawn Point(生成点) 162
7.3.1 构建SpawnPoint预制件 165
7.3.2 配置Player Spawn Point 167
7.3.3 生成玩家 168
7.3.4 小结 169
7.3.5 敌人Spawn Point 169
7.4 Camera Manager(摄像机管理器) 170
7.4.1 使用Camera Manager 172
7.4.2 设计Character类 174
7.4.3 virtual关键字 174
7.5 Enemy类 175
7.5.1 重构 175
7.5.2 internal(内部)访问修饰符 176
7.6 协程(Coroutine) 177
7.6.1 调用协程 177
7.6.2 暂停或“让步”执行 177
7.6.3 一个完整的协程 177
7.6.4 具有时间间隔的协程 178
7.6.5 abstract关键字 178
7.6.6 实现Enemy类 179
7.6.7 DamageCharacter()方法 180
7.6.8 ResetCharacter() 182
7.6.9 在OnEnable()中调用ResetCharacter() 182
7.6.10 KillCharacter() 182
7.7 更新Player类 183
7.7.1 重构预制件的实例化 184
7.7.2 回顾 185
7.7.3 使用已经构建的功能 185
7.7.4 OnCollisionEnter2D()方法 186
7.7.5 OnCollisionExit2D()方法 187
7.7.6 配置Enemy.cs脚本 188
7.8 本章小结 188
第8章 人工智能和弹弓武器 189
8.1 漫游算法 189
8.1.1 入门 190
8.1.2 创建漫游脚本 191
8.1.3 漫游变量 191
8.1.4 构建Start()方法 193
8.1.5 漫游协程 194
8.2 选择一个新的端点 196
8.2.1 角度变弧度,再变向量 197
8.2.2 敌人行走动画 197
8.2.3 Move()协程 200
8.2.4 配置漫游脚本 203
8.2.5 OnTriggerEnter2D()方法 203
8.2.6 OnTriggerExit2D()方法 205
8.2.7 Gizmo 206
8.3 自我防卫(Self-Defense) 209
8.4 Ammo类 210
8.4.1 导入资源 210
8.4.2 添加组件,设置图层 210
8.4.3 更新图层碰撞矩阵 211
8.4.4 构建Ammo.cs脚本 211
8.4.5 在我们忘记之前制作AmmoObject预制件 213
8.5 对象池(Object Pooling) 213
8.6 创建Weapon类 214
8.6.1 Stubbing-Out方法 216
8.6.2 SpawnAmmo()方法 218
8.6.3 Arc类和线性插值 220
8.6.4 屏幕点和世界点 222
8.6.5 FireAmmo()方法 223
8.6.7 配置Weapon.cs脚本 225
8.6.8 沿弧线运动 225
8.7 添加弹弓动画 227
8.8 混合树 228
8.8.1 清理动画器 228
8.8.2 构建行走混合树 229
8.8.3 层和多层嵌套 231
8.8.4 关于混合类型(Blend Type) 231
8.8.5 Animation Parameter(动画参数) 232
8.8.6 使用参数 232
8.8.7 好了,但为什么呢 234
8.8.8 循环时间 235
8.8.9 创建转换 236
8.9 更新运动控制器 236
8.9.1 导入战斗精灵 237
8.9.2 创建动画剪辑 238
8.9.3 构建战斗混合树 239
8.9.4 Exit Time(退出时间) 240
8.9.5 更新Weapon类 240
8.9.6 添加变量 241
8.9.7 Start()方法 242
8.9.8 更新Update()方法 243
8.9.9 确定方向 243
8.9.10 斜率方法 245
8.9.11 计算斜率 246
8.9.12 比较y轴截距 247
8.9.13 HigherThanNegative-SlopeLine()方法 248
8.9.14 GetQuadrant()方法 248
8.9.15 UpdateState()方法 250
8.10 受到伤害时闪烁 252
8.11 在其他平台上运行游戏 254
8.12 退出游戏 255
8.13 本章小结 256
8.14 未来方向 256
8.14.1 社区 256
8.14.2 了解更多信息 257
8.14.3 去哪里寻求帮助 257
8.14.4 Game Jams 257
8.14.5 新闻和文章 258
8.14.6 游戏和资源 258
8.15 超越 258
· · · · · · (
收起)
1 有用 swanix 2021-12-26 21:50:29
务实的Unity入门书,很有启发。
2 有用 ylme 2024-02-05 22:29:43 广东
很不多,书的配套代码中只有代码和 png 图片,剩下的靠自己操作,并且书上还吧怎么操作写的很清楚,并且也说清楚了 2D 游戏开发,推荐读一读
0 有用 郭丰 2024-03-26 19:21:19 广东
我的译作
0 有用 💭 2023-01-08 00:57:04 浙江
入门书,看完对unity会有基础的认识。但感觉不如看视频的效果好,引擎学习还是实操练习+阅读/观看视频效果好一些。
3 有用 八戒不哭 2022-11-12 18:52:08 天津
是Unity2D的入门书,适合Unity新手,但不适合编程新手,需要一点编程经验。翻译的也很流畅。对新手来说,比网上的免费视频讲的多一些知识点,而这部分又是非常实用的知识。
0 有用 啊啊啊啊啊哒 2024-10-01 12:02:26 浙江
基础
0 有用 特立独行的狼 2024-09-15 23:04:50 湖南
学过unity 3d后相关的知识是相通的,所以这本书看起来就很浅了,里面的图比较少,整体开发流程还是到位了。
0 有用 vh 2024-06-28 19:19:40 山东
翻译堪忧但是内容不错
0 有用 郭丰 2024-03-26 19:21:19 广东
我的译作
1 有用 星云chemical 2024-03-02 17:35:59 北京
很棒的一本书,成功带我入门unity,期待新世界