猜你喜欢
游戏架构:核心技术与面试精粹

游戏架构:核心技术与面试精粹

书籍作者:樊松阳 ISBN:9787121342639
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:8476
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书从架构与封装、艺术资源、底层核心、自定义扩展和独立游戏五个方向组织内容,每一方向均围绕一个问题展开论述,重点讲解了Unity 3D 开发的高级技巧。这种问答的形式,既有助于读者扩展思考,又可用于面试题。本书除了涉及代码架构和引擎底层原理,还包含了美术资源管理、艺术效果制作、工作流程优化等,通过解析这些实际开发过程中遇到的问题,可以更全面地提升读者的知识储备。书中的大部分章节都附有示例代码,聚焦具体的知识点,让读者知其然并知其所以然。本书适用于希望技术进阶的Unity 3D 开发者、独立游戏开发者,或有初级经验的游戏从业者。

作者简介

樊松阳,资深游戏开发者,在移动游戏开发方面积累了丰富的经验。活跃于各大技术社区,多年的微软MVP(*有价值专家),CSDN博客专家。曾使用Cocos2d-x引擎开发游戏,著有《实例妙解Cocos2d-X游戏开发》。目前使用Unity3d引擎,任职技术经理。

编辑推荐
适读人群 :本书适用于希望技术进阶的Unity 3D 开发者、独立游戏开发者,或有初级经验的游戏从业者。

游戏开发易上手,精进难,因此很多人停留在初级游戏开发阶段。

本书是一本面向广大游戏开发者的进阶指南,书中深入探讨了Unity3D与实际商业项目结合使用的技巧,从日常技能逐渐过渡到核心能力,从全局的角度,帮助读者理解游戏开发的架构流程。


前言

前 言

这是一本面向游戏开发者的进阶指南。

本书从日常开发遇到的问题入手,以编程思想为线索,探讨合理的解决方案。在技术方面,本书会结合使用广泛的Unity 3D 进行讲解。虽然本书中的很多内容都不会被引擎所桎梏,但从某种意义上讲,这确实是一本对Unity 3D 使用者有更大价值的书。


为了更便于查找,本书内容组织上采用问答的形式。提出的问题通常都是开放性的,随着对底层原理认识的加深,读者自己也能答出更多有料的内容。当然,作者也会被自身能力限制,所以答案是探讨式的,以期逐步深入地挖掘原理。


本书整体通过以下五个方向组织内容:架构与封装、艺术资源、底层核心、自定义扩展和独立游戏。从层次上看是从应用层、效果层、引擎层、工具层到职能扩展层的顺序论述。大体看来,是从日常技能逐渐过渡到核心能力的讲解顺序。


每个方向围绕一个问题展开论述,有的内容会侧重概念的讲解,大多数情况下会结合实际代码来说明。通过这样的方式,尽量让读者知其然并知其所以然。很多小结后面会有延伸思考,我也希望读者能根据问题深入探讨,这些问题大多附有解答思路,希望能帮助大家养成勤于思考的习惯。


对于游戏来说,技术只是其中的重要部分,但我更将其看作技术与艺术的结合体,因此美术方面的知识、游戏玩法的设计也不可或缺。本书在编排的过程中,我尽量兼顾上述要点,以期有兴趣的新手读者,从业人员,或者是独立开发者,都能从本书中得到些收获。另外,对于希望进入游戏界的读者,本书可以从全局的角度,帮助你理解游戏开发的架构流程。


本书中会将一些网址,或者一些扩展问题的解答放到我的微信公众号中,通过在公众号中回复相应的关键字来获得自动回复。采用这种做法主要基于以下原因:


链接很容易更新或失效。

手动输入链接比较麻烦,通过微信电脑端可以直接在PC 上打开有效的链接。

有链接形式的引用知识,方便跳转阅读。

对照问题答案时,避免来回翻页。


在本书中,我会以[ :回复关键字]来标注某些特殊的内容,通过在微信中回复关键字可以

得到相关信息。


下面是我的微信公众号,可扫码加入。

本书前四部分讨论的问题都可以用来做面试题,面试时也可以延伸出很多扩展问题。希望读者能勤于思考,动手实践,“纸上得来终觉浅,绝知此事要躬行”。


资源引用

本书引用的资源基本出自AssetStore 中,可以免费下载完整版。我对其中的一些资源做了整合,如果希望下载这些挑拣过后的资源,可以直接下载随书的代码工程,地址为[ :mygit]。前面的标记表示,在我的微信公众号中回复mygit 即可获得相关内容,以防链接失效。下面介绍这些资源的出处。


2D platformer

Unity 官方的2D 示例,AssetStore 的链接为http://u3d.as/5m5。在这个项目中可以看到2D帧动画的制作方法,其中包含了一个可运行的游戏。


2D Roguelike

一个2D 像素风格的项目,AssetStore 链接为http://u3d.as/bAx。这个项目展示了如何使用序列帧制作游戏。


Unity-Chan

Unity 日本公司提供的Unity 资源,AssetStore 链接为http://u3d.as/85c。它包含一个动漫少女的模型和动画。截至本书出版,它仍是目前AssetStore 中,品质数一数二的美术资源。资源的材质包含了目前主流的卡通渲染技术,在日渐火爆的二次元环境下,这个免费样例极具参考价值。


但需要注意的是,这个角色受到 Unity-Chan License Terms 证书的保护,如果需要在商业产品中使用该资源,需要在显眼处标记UnityChan 公司的标志。


Space Robot Kyle

这是一个Unity 官方推出的机器人模型,AssetStore 链接为http://u3d.as/3t7。整个项目十分简单,只有模型、Diffuse 贴图、Normal 贴图和标准Lambert 材质。由于它效果不错,又是很早

就出现的Unity 官方资源,因此在AssetStore 中,大量插件都使用它作为功能演示模型。


目录

第一部分 架构与封装
第1 章 UI 交互 .............................................................................................................. 2
1.1 绑定事件响应 ........................................................................................................ 2
1.2 事件传递流程 ........................................................................................................ 7
1.3 事件响应接口 ...................................................................................................... 11

第2 章 玩法底层 ......................................................................................................... 16
2.1 游戏循环 .............................................................................................................. 16
2.2 时间记录 .............................................................................................................. 23
2.3 动画事件 .............................................................................................................. 27
2.4 游戏同步 .............................................................................................................. 31

第3 章 辅助系统 ......................................................................................................... 36
3.1 有限状态机 .......................................................................................................... 36
3.2 脚本系统 .............................................................................................................. 43

第二部分 艺术资源
第4 章 资源分类 ......................................................................................................... 50
4.1 贴图种类 .............................................................................................................. 50
4.2 材质效果 .............................................................................................................. 54
4.3 动画分类 .............................................................................................................. 63
4.4 流动效果 .............................................................................................................. 66

第5 章 后处理效果 ...................................................................................................... 71
5.1 模糊效果 .............................................................................................................. 71
5.2 泛光效果 .............................................................................................................. 79
5.3 辉光效果 .............................................................................................................. 83
5.4 景深 ...................................................................................................................... 94

第6 章 资源工作流 .................................................................................................... 108
6.1 图片格式更改 .................................................................................................... 108
6.2 动画抽取 ............................................................................................................ 111
6.3 文件移动检测 .................................................................................................... 116

第三部分 底层核心
第7 章 渲染原理 ....................................................................................................... 120
7.1 渲染管线 ............................................................................................................ 120
7.2 渲染顺序 ............................................................................................................ 126

第8 章 3D 数学基础 .................................................................................................. 129
8.1 点和向量 ............................................................................................................ 129
8.2 向量的运算 ........................................................................................................ 130
8.3 区域检测 ............................................................................................................ 138
8.4 平面移动 ............................................................................................................ 142

第9章 寻路算法 ........................................................................................................ 147
9.1 寻路这件事 ........................................................................................................ 147
9.2 A*算法 ............................................................................................................... 150
9.3 Navigation 系统 .................................................................................................. 158
9.4 任务调配 ............................................................................................................ 161

第四部分 自定义扩展
第10 章 调试工具 ..................................................................................................... 168
10.1 GM 命令 ........................................................................................................... 168
10.2 绘制曲线 .......................................................................................................... 174
10.3 指示绘制 .......................................................................................................... 181

第11 章 日志工具 ...................................................................................................... 190
11.1 出错暂停 .......................................................................................................... 190
11.2 日志接口优化 .................................................................................................. 195
11.3 频道化日志 ...................................................................................................... 199
11.4 崩溃日志上报 .................................................................................................. 204

第12 章 快捷功能 ..................................................................................................... 207
12.1 自定义菜单 ...................................................................................................... 207
12.2 定制UI ............................................................................................................. 213
12.3 回退操作 .......................................................................................................... 217

第13 章 后台服务 ..................................................................................................... 221
13.1 编辑器服务 ...................................................................................................... 221
13.2 自动注册框架 .................................................................................................. 225
13.3 遍历文件 .......................................................................................................... 228

第五部分 独立游戏
第14 章 角色分工 ..................................................................................................... 234
14.1 产品策划 .......................................................................................................... 234
14.2 美术设计 .......................................................................................................... 237
14.3 运营知识 .......................................................................................................... 241
14.3.1 用户规模数据 ................................................................................... 241
14.3.2 用户价值数据 ................................................................................... 244
14.4 总结 .................................................................................................................. 245
参考文献 ...................................................................................................................... 247