新書推薦:

《
把世界留给黑暗与我:丁帆书评集
》
售價:HK$
74.8

《
大争之世:论中国文明重建
》
售價:HK$
75.9

《
AI动漫游戏绘画设计
》
售價:HK$
74.8

《
畅玩一人公司
》
售價:HK$
77.0

《
人间椅子 江户川乱步代表作
》
售價:HK$
49.5

《
奇特的一生(精装典藏2025版)
》
售價:HK$
61.6

《
德国天才(上下册)
》
售價:HK$
217.8

《
适度工作:活出不被职业定义的人生
》
售價:HK$
65.8
|
編輯推薦: |
全面、深入剖析动作游戏开发的核心知识点和难点。
详解物理、动画、主角、关卡、敌人AI等多个核心模块。
详解三款经典动作游戏的技术难点和实现思路。
内容全面:围绕物理、动画、主角、关卡、敌人AI等核心模块,多角度讲解动作游戏开发的基本原理和技术要点。
注重原理:对关键模块直接从基础代码入手,深入分析其基本原理,帮助读者打好构建稳定且易于扩展的脚本的基础。
讲解详细:详解诸如角色踩头、根运动、浮空、僵直和角色残影等动作游戏开发中出现较频繁和典型的技术细节,为打磨游戏细节添砖加瓦。
案例典型:详解三款典型动作游戏开发的技术难点和实现思路,以及一款Roguelike风格的动作游戏Demo的开发细节,从而提高读者的实际开发水平。
总结经验:系统总结作者多年从事游戏开发积累的大量实战经验,并将其融入实际开发之中,从而帮助读者解决实际开发中的各种难点问题。
|
內容簡介: |
《Unity3D动作游戏开发》结合作者多年的开发经验,从物理、动画、主角、关卡等多个层面深入解析动作游戏开发的各种难点问题,并详细剖析3个经典实战案例和1个游戏Demo的开发。本书尽可能避开动作游戏开发中的简单问题,把重点放在难点问题剖析上,从而帮助读者深入理解动作游戏开发的原理与核心知识。
來源:香港大書城megBookStore,http://www.megbook.com.hk 《Unity3D动作游戏开发》共11章,分为3篇。第1篇开发准备,主要介绍动作游戏的主流类型、Unity3D引擎的基本知识和动作游戏开发的前期准备。第2篇核心模块详解,主要介绍动作游戏的物理系统、动画系统、战斗系统、主角系统、关卡系统、敌人AI系统等模块的设计与开发,以及相机、Cutscene过场动画、输入管理、IK与音频管理等其他模块的设计与开发。第3篇项目案例实战,首先详细剖析《忍者龙剑传∑2》《君临都市》《战神3》三个动作游戏案例,然后详解一款Roguelike风格的动作游戏Demo开发。
《Unity3D动作游戏开发》内容丰富,知识体系完整,适合所有想学习动作游戏开发的人员阅读,尤其适合从事动作游戏开发的程序员、Unity3D工程师和Steam游戏从业人员阅读,还适合作为大中专院校和培训机构的教材。
|
關於作者: |
周尚宣 主机与动作游戏开发发烧友,独立游戏开发者,Unity3D工程师。自2014年开始,一直从事技术博客文章的创作。曾先后参与了手游、VR和Steam端游等不同类型游戏项目的开发与上线,积累了大量的开发经验。工作之余喜爱钻研动作游戏的各项技术并加以实践,将其用于商业游戏、独立游戏和个人开发的游戏项目之中。
|
目錄:
|
第1篇 开发准备
第1章 概述 2
1.1 本书的侧重点及目标 2
1.2 动作游戏的主流类型简介 3
1.2.1 传统动作游戏 3
1.2.2 Roguelike类动作游戏 4
1.2.3 魂类动作游戏 4
1.3 Unity3D引擎简介 5
1.3.1 Unity3D引擎的发展历程 5
1.3.2 选用合适的引擎版本 6
第2章 动作游戏开发前期准备 7
2.1 预备知识 7
2.1.1 使用协程 7
2.1.2 使用ScriptableObject 9
2.1.3 理解LayerMask 10
2.1.4 消息模块的设计 11
2.1.5 功能开关与锁的设计 12
2.1.6 活用插值公式 14
2.1.7 关注项目中的GC问题 15
2.2 Unity3D引擎及C#语言新功能 16
2.2.1 C# 6.0至C# 7.3新功能简介 16
2.2.2 Unity3D引擎部分新功能简介 18
2.3 3D游戏开发的数学知识 19
2.3.1 向量加减 19
2.3.2 点乘 20
2.3.3 叉乘 21
2.3.4 投影 22
2.3.5 四元数 22
2.4 其他开发工具准备 24
2.4.1 控制台工具的编写 24
2.4.2 常量生成器 25
2.4.3 关联Excel配置数据 26
2.4.4 Level分组打包工具 28
2.4.5 项目目录结构建议 29
2.4.6 项目的程序流程结构建议 30
第2篇 核心模块详解
第3章 物理系统详解 32
3.1 物理系统基本内容梳理 32
3.1.1 系统参数设置 32
3.1.2 Fixed Update更新频率 33
3.1.3 Rigidbody参数简介 33
3.1.4 物理材质设置 34
3.2 常见问题 34
3.2.1 物理步的理解误区 34
3.2.2 重叠与挤出问题 35
3.2.3 地面检测逻辑的处理 36
3.2.4 传送平台逻辑的处理 36
3.2.5 踩头问题及其解决方法 38
3.2.6 动画根运动的物理问题 40
3.3 为动作游戏定制碰撞系统 40
3.3.1 OBB碰撞检测简介 40
3.3.2 Box与Box相交检测 41
3.3.3 Box与Sphere相交检测 43
3.3.4 Sphere与Sphere相交检测 44
3.3.5 不同形状的边界点获取 44
3.3.6 总结 47
第4章 Mecanim动画系统详解 48
4.1 Mecanim动画系统的基础功能 48
4.1.1 动画状态机简介 48
4.1.2 状态过渡机制 50
4.1.3 动画重写控制器 51
4.1.4 混合树 52
4.1.5 人形动画与IK 52
4.1.6 模型导入面板参数 54
4.1.7 SMB脚本 55
4.2 应用与扩展 56
4.2.1 编写混合树剥离工具 56
4.2.2 碰撞SMB脚本 57
4.2.3 监听输入帧与混合帧 58
4.2.4 扩展多重Tag支持 61
第5章 战斗系统详解 63
5.1 角色模块 63
5.1.1 角色控制器与刚体 63
5.1.2 Motor组件设计1 64
5.1.3 Motor组件设计2 67
5.1.4 动画事件处理 70
5.2 战斗系统设计 72
5.2.1 伤害判定框细节思考 72
5.2.2 传递Instigator 74
5.2.3 基础战斗逻辑编写 75
5.2.4 编写伤害逻辑 79
5.2.5 编写僵直度逻辑 80
5.2.6 编写浮空逻辑 82
5.2.7 编写预警逻辑 84
第6章 主角系统详解 86
6.1 基础模块设计 86
6.1.1 有限状态机简介 86
6.1.2 编写有限状态机 87
6.1.3 设计插槽挂接点 93
6.1.4 实现指令监听功能 94
6.1.5 封装角色基类 95
6.1.6 技能系统 96
6.1.7 编写主角类基础结构 100
6.2 基础要素 102
6.2.1 同类游戏的对比 102
6.2.2 逻辑编写前的准备工作 103
6.2.3 移动逻辑的编写 104
6.2.4 跳跃逻辑的编写 106
6.2.5 多段跳跃逻辑的编写 108
6.2.6 攻击逻辑的编写 111
6.2.7 连招逻辑的编写 117
6.2.8 受击与死亡逻辑的编写 119
6.2.9 空中攻击与受击逻辑的编写 121
6.2.10 翻滚逻辑的编写 124
6.2.11 格挡逻辑的编写 126
6.3 效果与表现 131
6.3.1 增加Twist骨骼 131
6.3.2 刀光拖尾效果制作 132
6.3.3 顿帧效果处理 138
6.3.4 布娃娃效果制作 140
第7章 关卡设计详解 142
7.1 关卡设计的前期考量 142
7.1.1 从Graybox说起 142
7.1.2 规划层级结构 143
7.1.3 模型的导出与调试 144
7.2 深入解析开发阶段 145
7.2.1 SpawnPoint的使用 145
7.2.2 扩展SpawnPoint 147
7.2.3 对象池的编写 151
7.2.4 关卡模块的序列化 154
7.2.5 战斗壁障的实现 158
7.3 光照与烘焙 160
7.3.1 不同GI类型的选择 161
7.3.2 预计算光照的使用 161
7.3.3 光照探针的使用 162
7.3.4 反射探针简介 163
7.3.5 借助LPPV优化烘焙 163
第8章 敌人AI设计详解 165
8.1 开发基础 165
8.1.1 敌人AI设计简介 165
8.1.2 导航网格功能简介 167
8.1.3 Behavior Designer插件简介 169
8.1.4 Visual Scripting工具简介 170
8.2 开发进阶 172
8.2.1 使用协程开发AI程序 172
8.2.2 处理敌人体积过大的问题 175
8.2.3 处理移动逻辑 176
8.2.4 可控制随机行为 177
8.2.5 快速获取角色的8个方向 180
8.2.6 锁定玩家与攻击逻辑 181
8.2.7 使用导航网格查询接口 183
8.2.8 实现EQS功能 184
8.2.9 获取场景绑定信息 188
第9章 其他模块详解 189
9.1 相机 189
9.1.1 常见的相机模式分类 189
9.1.2 第三人称相机的实现 190
9.1.3 滑轨相机的实现 194
9.1.4 相机震屏实现 198
9.2 Cutscene过场动画 200
9.2.1 不同类型的Cutscene简介 201
9.2.2 使用Timeline 201
9.2.3 使用脚本过场动画 203
9.3 输入、IK与音频管理 204
9.3.1 InControl插件的使用 204
9.3.2 Final-IK插件的使用 205
9.3.3 音频管理 207
第3篇 项目案例实战
第10章 典型案例剖析 214
10.1 《忍者龙剑传∑2》案例剖析 214
10.1.1 断肢效果的再实现 214
10.1.2 流血喷溅效果的再实现 217
10.1.3 角色残影效果的再实现 220
10.2 《君临都市》案例剖析 223
10.2.1 通用动作方案的设计 223
10.2.2 组合攻击的再实现 223
10.3 《战神3》案例剖析 227
10.3.1 吸魂效果的再实现 228
10.3.2 链刃伸缩效果的再实现 232
10.3.3 赫利俄斯照射的再实现 235
第11章 Roguelike游戏Demo设计 242
11.1 前期规划 242
11.1.1 确立3C 242
11.1.2 资源准备 242
11.1.3 项目配置 243
11.1.4 梳理游戏流程 244
11.1.5 依赖模块清单 245
11.2 功能实现与整合 246
11.2.1 游戏逻辑 246
11.2.2 房间生成逻辑 247
11.2.3 整合主角逻辑 251
11.2.4 处理敌人逻辑 252
11.3 构建游戏 253
11.3.1 配置房间预制体 253
11.3.2 回顾与总结 254
|
內容試閱:
|
随着Unity3D这类通用游戏引擎的出现,越来越多制作精良的独立游戏逐渐出现在玩家视野中。在游戏商业化高度发达的今天,越来越多的开发者和开发团队受独立游戏创意及其艺术性的感召,尝试开发并发布了一些相关作品。动作游戏作为一大热门游戏品类一直不缺少玩家,但较高的开发门槛、技术细节和复杂度等都阻碍了其开发进程。长期以来,以动作游戏为核心的书籍较为匮乏,因此笔者编写了本书,以满足读者的需求。
本书结合笔者多年的游戏开发经验,基于Unity3D引擎对动作游戏这个玩家需求较高的类型进行深入讲解。本书围绕与动作游戏有关的几大核心模块、技术选型和前期设计等内容进行详细讲解,帮助读者深入理解动作游戏开发的基本原理并系统掌握Unity3D动作游戏开发的核心技术,从而开发出符合要求的动作游戏。
本书特色
1.内容全面,重点突出
本书围绕动作游戏的物理、动画、主角、关卡、敌人AI等多个核心模块进行讲解,涵盖游戏开发的大部分环节,读者可随时根据各模块进行查阅,从而高效解决实际问题。
2.注重原理分析,而非堆砌插件
Unity3D引擎拥有数量众多的插件及开源库供开发者选择,但过多使用这些外部扩展插件和第三方库容易导致项目出现功能冗余、扩展受限、运行不稳定等问题。对于诸如相机、角色、碰撞和AI等核心模块,即便使用插件,也需要对其内部机制十分了解才行。本书在这些关键模块的讲解上直接从基础代码入手,着重对原理进行深入分析,从而帮助读者打好构建稳定且易于扩展的脚本的基础。
3.详解技术细节
本书对动作游戏开发中出现较频繁和典型的技术细节进行深入讲解,其中包括角色踩头、根运动、浮空、僵直和角色残影等,这可以为游戏细节的打磨添砖加瓦。
4.案例典型,实用性强
本书最后两章分别详解三款典型动作游戏开发的技术难点和实现思路,以及一款Roguelike风格的动作游戏Demo的开发过程,从而加深读者对动作游戏开发的理解,并提高实际开发水平。
5.总结开发经验
本书系统总结作者多年从事游戏开发积累的大量实战经验,并将其融入实际开发之中,从而帮助读者解决实际开发中的各种难点问题。
本书内容
第1篇 开发准备
本篇包括第1、2章,首先介绍Unity3D游戏引擎的发展现状和动作游戏的主流类型,然后详细介绍游戏开发的前期准备,包括预备知识、C#语言的新功能、数学知识和其他开发工具等。通过阅读本篇内容,读者可以初步了解动作游戏开发的基本要求和前期准备。
第2篇 核心模块详解
本篇包括第3~9章,主要介绍动作游戏开发中涉及的几个核心模块的相关功能,并详细介绍这些模块的设计与开发,涵盖物理系统、Mecanim动画系统、战斗系统、主角系统、关卡设计、敌人AI设计、相机、Cutscene过场动画和输入管理等模块的相关内容。通过阅读本篇内容,读者可以系统掌握Unity3D动作游戏开发的核心技术。
第3篇 项目案例实战
本篇包括第10、11章,首先剖析《忍者龙剑传∑2》《君临都市》《战神3》三个动作游戏案例,然后介绍一款Roguelike风格的动作游戏Demo开发。通过阅读本篇内容,读者可以通过实际项目案例整合使用前面章节讲解的技术,从而提高实际开发水平。
读者对象
? 想系统学习动作游戏开发的人员;
? 动作游戏开发从业人员;
? Unity3D游戏开发工程师;
? Steam游戏开发从业人员;
? 大中专院校相关专业的学生;
? 社会培训机构相关学员。
阅读建议
? 读者最好具备一定的Unity3D引擎与C#语言基础,以便更加顺利地阅读本书;
? 读者最好先了解动作游戏开发的大体流程与相关模块再进行学习;
? 读者最好对状态机、行为树、手柄适配与序列化等内容有一定了解,这样学习效果会更好;
? 读者可以结合所学内容制作一些测试项目进行练习,以熟能生巧。
配套资源获取方式
本书涉及的实例源代码和教学PPT等配套资源有两种获取方式:一是关注微信公众号(见书),回复数字“46”自动获取下载链接;二是在清华大学出版社网站上搜索到本书,然后在本书页面上找到“资源下载”栏目,单击“网络资源”按钮进行下载。
售后服务
由于笔者水平所限,加之写作时间仓促,书中可能存在疏漏与不足之处,恳请广大读者批评与指正。读者在阅读本书的过程中如果有疑问,可以发送电子邮件获取帮助,邮箱地址见书。
周尚宣
2025年5月
|
|