新書推薦:
《
实用对联大全
》
售價:NT$
225.0
《
想象欧洲丛书(7册)欧洲史
》
售價:NT$
1880.0
《
没有伞的孩子必须努力奔跑
》
售價:NT$
149.0
《
做最好的班主任(李镇西教育文集版)
》
售價:NT$
230.0
《
数据驱动法律
》
售價:NT$
390.0
《
对话世界一流大学图书馆馆长
》
售價:NT$
995.0
《
揭秘立体翻翻书--我们的国宝
》
售價:NT$
490.0
《
清代贡院史
》
售價:NT$
800.0
|
內容簡介: |
动作游戏作为一大热门的游戏品类,一直不缺少玩家受众欢迎。但其较高的工艺门槛、技术细节、复杂度等都阻碍了其开发进程。本书结合作者自身的研发经验进行撰写,从角色、战斗、关卡、物理等多个剖面去解析动作游戏在研发中遇到的总总困难,尽可能的绕过或避免研发中的已知问题,最终帮助读者在对于该品类游戏的理解与开发上提供助力。
长期以来,以动作游戏为核心的书籍一直较为匮乏。因此也成为了本书撰写的契机。通过对本书的阅读,不管是爱好动作游戏的独立开发者,还是期望进一步提升自身能力的游戏从业者,相信您都能在其中有所收获。
|
目錄:
|
前言
第1篇概述及前期准备
第1章概述2
1.1本书的侧重点及目标2
1.2Unity3D引擎在大环境中的发展现状4
1.3Steam、独立游戏及动作游戏的现状5
1.3.1Steam平台简介5
1.3.2国内独立游戏的开端6
1.3.3细看动作类独立游戏6
1.4设计目标:大而全还是小而精7
1.4.1资源复用7
1.4.2舍弃不必要的维度8
1.4.3选择合适的题材8
第2章前期准备9
2.1通用预备知识9
2.1.1使用协程分解复杂逻辑9
2.1.2自定义的插值公式10
2.1.3消息模块的设计12
2.1.4模块间的管理与协调13
2.2基于编辑器环境的基础知识14
2.2.1编辑器工具的编写15
2.2.2关联游戏配置数据19
2.2.3常量生成器22
2.33D游戏所需要的数学知识24
2.3.1向量加减24
2.3.2点乘25
2.3.3叉乘26
2.3.4投影27
2.3.5四元数28
2.4其他准备29
2.4.1关注项目中的GC问题29
2.4.2控制台工具的编写31
2.4.3项目目录结构建议32
2.4.4项目的程序流程结构建议33
第2篇动作游戏核心模块
第3章物理系统详解36
3.1物理系统基本内容梳理36
3.1.1系统参数设置36
3.1.2Fixed Update更新频率37
3.1.3Rigidbody参数简介38
3.1.4物理材质设置38
3.2常见问题39
3.2.1物理步的理解误区39
3.2.2重叠与挤出问题40
3.2.3地面检测优化处理40
3.2.4Dash与瞬移的优化41
3.2.5踩头问题及解决方法42
3.2.6动画根运动的物理问题45
3.3为动作游戏定制碰撞系统46
3.3.1设计目标46
3.3.2OBB碰撞检测简介47
3.3.3Box与Box相交测试47
3.3.4Box与Sphere相交测试50
3.3.5Sphere与Sphere相交测试52
3.3.6不同形状的边界点获取52
3.3.7碰撞对象管理器56
第4章主角系统设计58
4.1基础要素58
4.1.1同类游戏对比58
4.1.2逻辑编写前的准备工作59
4.1.3移动逻辑59
4.1.4跳跃逻辑65
4.1.5攻击逻辑67
4.1.6受击逻辑69
4.1.7应对脚本类爆炸的问题71
4.2常规功能72
4.2.1角色有限状态机72
4.2.2设计挂接点接口73
4.2.3技能系统74
4.2.4连续技功能75
4.3场景互动部分78
4.3.1角色冻结78
4.3.2场景互动组件79
第5章关卡部分详解82
5.1前期考量82
5.1.1从Graybox说起82
5.1.2规划层级结构83
5.1.3模型的导出与调试84
5.2开发阶段深入解析85
5.2.1SpawnPoint的使用85
5.2.2扩展SpawnPoint87
5.2.3对象池的编写92
5.2.4关卡模块的序列化94
5.2.5战斗壁障的实现99
5.3光照与烘焙102
5.3.1不同GI类型的选择102
5.3.2预计算光照的使用103
5.3.3光照探针的使用104
5.3.4反射探针简要介绍104
5.3.5借助LPPV优化烘焙105
第6章战斗部分深入解析107
6.1角色模块107
6.1.1Motor组件的设计107
6.1.2动画事件的处理110
6.1.3Animator常见问题整理112
6.2设计一个可扩展的战斗系统114
6.2.1基础战斗框架编写115
6.2.2添加伤害传递逻辑117
6.2.3配置伤害碰撞120
6.2.4僵直度组件的添加121
6.2.5浮空组件的添加123
6.3敌人AI的设计125
6.3.1AI设计综述125
6.3.2Behavior Designer插件简介127
6.3.3使用协程来开发AI程序128
6.3.4可控制的随机行为131
6.3.5设计共享数据段132
6.3.6场景信息的获取133
第7章其他模块135
7.1相机135
7.1.1常见的相机模式分类135
7.1.2常规第三人称相机实现136
7.1.3滑轨相机的实现140
7.2Cutscene过场动画145
7.2.1不同类型的Cutscene简介146
7.2.2使用Timeline146
7.2.3使用脚本过场动画148
7.3输入、IK与音频管理149
7.3.1InControl插件的使用149
7.3.2Final-IK插件的使用151
7.3.3音频管理153
第8章画面特效与后处理160
8.1着色器Shader160
8.1.13D游戏中的常见Shader160
8.1.2死亡径向溶解效果161
8.1.3受击边缘泛光效果164
8.1.4基于屏幕门的抖动透明166
8.2CommandBuffer的使用169
8.2.1CommandBuffer简介169
8.2.2制作主角特显效果171
8.3后处理175
8.3.1PPS后处理工具175
8.3.2编写自己的后处理脚本177
8.4计算着色器Compute Shader179
8.4.1什么是Compute Shader179
8.4.2语法及使用简介179
8.4.3使用案例181
第3篇项目案例实战
第9章案例剖析190
9.1《忍者龙剑传∑2》案例剖析190
9.1.1断肢效果的再实现190
9.1.2流血喷溅程序的再实现193
9.1.3角色残影效果的再实现202
9.2《君临都市》案例剖析206
9.2.1通用动作方案设计206
9.2.2组合攻击的再实现207
9.3《战神3》案例剖析211
9.3.1吸魂效果的再实现211
9.3.2链刃伸缩效果的再实现216
9.3.3赫利俄斯照射的再实现220
第10章横版动作游戏Demo设计227
10.1规划与调配227
10.1.1简要规划227
10.1.2资源准备228
10.1.3项目配置228
10.2基础框架的整合231
10.2.1战斗模块的整合231
10.2.2动画事件的整合232
10.3玩家逻辑的整合233
10.3.1输入逻辑封装233
10.3.2玩家逻辑的编写234
10.4敌人逻辑的编写241
10.4.1基础逻辑的编写241
10.4.2游走逻辑的编写244
10.4.3受击逻辑的编写246
10.5构建游戏247
10.5.1预制体的组装247
10.5.2出生点逻辑的编写248
10.5.3回顾与总结249
|
內容試閱:
|
随着Unity3D这类通用游戏引擎的出现,越来越多制作精良的独立游戏逐渐出现在玩家视野当中。在游戏商业化如此发达的今天,越来越多的开发者或开发团队受独立游戏创意及艺术性的感召,尝试开发并发布了一些相关作品。动作游戏作为一大热门游戏品类,一直不缺少玩家,但其较高的工艺门槛、技术细节和复杂度等都阻碍了其开发进程。长期以来,以动作游戏为核心的书籍较为匮乏。基于此,作者编写了本书。
本书结合作者多年的游戏开发经验,并结合Unity3D引擎,对动作游戏这个玩家需求较高的类型进行了深入讲解。书中围绕与动作游戏有关的几大核心模块、技术选型和前期设计等内容进行讲解,帮助读者扬长避短、绕开弯路,而不是把精力放在一些不重要的环节,从而避免事倍功半。
希望本书能对广大动作游戏开发爱好者有所帮助,带领他们深入学习并理解动作游戏开发技术,提高开发水平,从而开发出自己想要的动作游戏。
本书特色
1.着重于实现原理的分析,而非堆砌插件
Unity3D引擎拥有数量众多的插件及开源库供开发者选择,但过多使用这些外部扩展插件及库会导致项目中出现功能冗余、扩展受限、运行不稳定等问题。对于诸如相机、角色、碰撞和AI等核心模块,即使运用插件,也需要对其内部机制十分了解才行。因此本书在这些关键模块的讲解上直接从基础代码入手,着重对原理进行分析拆解,从而帮助读者为构建一个稳定且易于扩展的脚本体系打好基础。
2.重点突出,涵盖核心内容
本书围绕角色、物理、关卡、战斗和AI等多个动作游戏的核心内容进行讲解,涵盖游戏研发中的大部分环节,读者可以随时根据模块内容进行查阅,从而高效解决实际问题。
3.深入介绍动作游戏开发中的各项技术细节
本书对动作游戏开发中出现较频繁和典型的技术细节进行深入讲解,其中包括角色踩头、根运动问题、Dash冲刺穿墙、浮空僵直及角色残影等,这可以为游戏细节的打磨添砖加瓦。
4.结合实战案例讲解分析
本书最后两章分别从经典作品分析及自制Demo开发两个方向进行动作游戏实战案例解析,从而帮助读者加深和巩固对动作游戏不同模块的认识。
5.提供答疑解惑服务
本书提供答疑解惑电子邮箱hont127@163.com和hzbook2017@163.com。读者在阅读本书的过程中若有疑问,可以发送电子邮件获得帮助。
本书内容
第1篇概述及前期准备
本篇包括第1、2章,首先介绍Unity3D引擎的发展,以及独立游戏和动作游戏的现状,并结合现状给出设计方向指引,然后在前期准备部分对动作游戏开发的常用基础工具、数学知识和目录项目结构等内容进行梳理和讲解。
第2篇动作游戏核心模块
本篇包括第3~8章,主要介绍动作游戏开发中的几个核心模块,并围绕这些模块进行功能讲解。主要包括物理系统、主角操控逻辑、有限状态机、连续技、对象池、关卡序列化、战斗系统、敌人AI设计、相机功能、输入管理和敌人死亡特效等。
第3篇项目案例实战
本篇包括第9、10章,主要从经典游戏案例及自制Demo两个方面进行实战剖析。经典游戏案例部分主要针对一些技术特性进行分析;自制Demo部分将从零开始完成一款横版2D游戏的Demo开发,涉及对前面各章节主要内容的整合使用。
配书资源
本书涉及的源代码及案例工程文件需要读者自行下载。请在华章公司的网站(www.hzbook.com)上搜索到本书,然后单击“资料下载”按钮,即可在本书页面上的“扩展资源”模块找到下载链接。
读者对象
* 想系统学习动作游戏开发的人员;
* 动作游戏研发从业人员;
* Unity3D工程师;
* Steam游戏开发及相关从业人员;
* 各类院校相关专业的学生;
* 社会培训机构的相关学员。
阅读建议
* 读者最好具备一定的Unity3D引擎与C#语言基础,以便更加顺利地阅读本书;
* 读者最好先了解动作游戏开发的大体流程及所需模块,然后再进行学习;
* 读者应对状态机、行为树、手柄适配及序列化等内容有一定了解,这样学习效果更好;
* 读者可以结合所学内容制作一些测试项目进行练习,以熟能生巧。
本书作者
本书由周尚宣编写。作者长期从事Unity3D游戏开发,尤其热爱动作游戏,在业余时间不断地进行相关研究并制作了大量不同种类的动作游戏Demo。由于本书写作时间有限,书中可能还存在一些疏漏与不足之处,恳请各位读者指正。
|
|