编辑推荐
本书由经验丰富的游戏开发大师倾力编写,国内zi深的游戏设计人员翻译并亲测代码;书中富含完整的示例和步骤讲解,教你学会用UE4的蓝图系统构建专业级的3D游戏。从UE4自带的FPS模板开始,每一章都扩充新的内容,让FPS游戏原型获得更加有趣、强大的游戏体验。读者将从创建基础的射击游戏机制开始,逐渐地扩展游戏系统。
内容简介
Unreal游戏引擎的蓝图是一个强大的系统,它可以帮助用户构建出功能齐全的游戏。本书以一个射击游戏为背景,从基本的游戏力学原理、用户界面等内容讲解了游戏开发的全过程。本书分为8章,分别介绍了使用蓝图进行对象交互、升级玩家的技能、创建屏幕UI元素、创建约束和游戏性对象、使用AI制作移动的敌人、升级AI敌人、跟踪游戏状态完成游戏体验、打包与发行等内容。本书由经验丰富的技术达人撰写,非常适合游戏专业人士、计算机专业的学生以及想要从事游戏设计相关工作的读者阅读。
作者简介
Brenden Sewell是E-Line Media的游戏主策划。在过去5年里,他设计并制作了许多既有趣又有教育意义再或社会影响力的游戏。自2002年以来,他一直在创作游戏,其中“Neverwinter Nights”项目在游戏设计表现力上给了他宝贵的经验。2010年,他获得了印第安纳大学认知科学学位。从那时起,他一直专注于增强自己的游戏设计能力,同时为大家分享设计与开发的经验,让更多的人享受游戏行业的欢乐。
目录
- 第1章 使用蓝图进行对象交互 1
- 1.1 创建项目和关卡 1
- 1.1.1 为新建的项目设置模板 3
- 1.1.2 理解项目设置 3
- 1.1.3 创建项目 4
- 1.2 为关卡添加对象 5
- 1.3 材质 6
- 1.3.1 创建材质 6
- 1.3.2 材质属性与蓝图节点 6
- 1.3.3 为材质添加属性 9
- 1.4 创建第一个蓝图 11
- 1.4.1 浏览事件图表面板 12
- 1.4.2 检测事件Hit 14
- 1.4.3 转换材质 15
- 1.4.4 升级蓝图 17
- 1.5 制作移动标靶 18
- 1.5.1 改变actor的移动性和碰撞 19
- 1.5.2 目标分析 21
- 1.5.3 使用变量存储数据 21
- 1.5.4 准备计算方向 22
- 1.5.5 使用delta time关联速度与时间 24
- 1.5.6 转换现有位置坐标 24
- 1.5.7 更新位置 26
- 1.6 改变目标方向 27
- 测试移动的目标 28
- 1.7 小结 29
- 第2章 升级玩家的技能 30
- 2.1 通过扩展蓝图添加加速技能 31
- 2.1.1 分解角色移动蓝图 31
- 2.1.2 自定义输入控制 34
- 2.1.3 添加冲刺功能 35
- 2.2 制作瞄准镜效果 37
- 2.2.1 使用时间轴进行平滑过渡 38
- 2.2.2 加快子弹的速度 41
- 2.3 添加音效和粒子效果 43
- 2.3.1 为目标状态添加分支 43
- 2.3.2 触发声音效果、爆炸、销毁 46
- 2.4 小结 49
- 第3章 创建屏幕UI元素 50
- 3.1 使用UMG创建简单的UI 51
- 3.1.1 使用蓝图控件绘制形状 52
- 3.1.2 自定义血条和体力条的外观 53
- 3.1.3 创建弹药和敌人计数 55
- 3.1.4 显示HUD 57
- 3.2 关联玩家变量与UI元素值 59
- 3.2.1 为health和stamina创建绑定 59
- 3.2.2 制作文本绑定 62
- 3.3 获得子弹和摧毁目标的信息 63
- 3.3.1 减少子弹计数 64
- 3.3.2 增加已摧毁物体的计数 64
- 3.4 小结 66
- 第4章 创建约束和游戏性对象 67
- 4.1 限制玩家的行为 68
- 4.1.1 冲刺时减少体力值 68
- 4.1.2 使用循环计时器来重复动作 71
- 4.1.3 使用分支节点将动作模块化 73
- 4.1.4 重新生成stamina 74
- 4.1.5 当弹药耗尽时停止开火动作 75
- 4.2 创建可收集物品 76
- 创建收集逻辑 76
- 4.3 设置游戏胜利条件 81
- 4.3.1 在HUD中显示目标 82
- 4.3.2 创建胜利菜单 83
- 4.3.3 显示菜单 85
- 4.3.4 触发胜利 86
- 4.4 小结 88
- 第5章 使用AI制作移动的敌人 89
- 5.1 设置敌人actor的导航 89
- 5.1.1 从虚幻商城导入资源 90
- 5.1.2 扩大游戏区域 90
- 5.1.3 使用NavMesh制作导航 91
- 5.1.4 用AI资源设置智能敌人 92
- 5.2 创建导航行为 94
- 5.2.1 设置巡逻点 94
- 5.2.2 启用资产之间的通信 95
- 5.2.3 让AI通过行为树学会行走 99
- 5.3 让AI追逐玩家 102
- 5.3.1 用Pawn Sensing给敌人添加视线 102
- 5.3.2 向行为树添加条件 104
- 5.3.3 创建追逐行为 106
- 5.4 小结 108
- 第6章 升级AI敌人 110
- 6.1 创建敌人攻击功能 111
- 6.1.1 创建攻击任务 111
- 6.1.2 更新血条 113
- 6.2 让敌人听到并分析声音来源 115
- 6.2.1 添加听觉至行为树 115
- 6.2.2 设置调查任务 116
- 6.2.3 存储噪声事件数据 119
- 6.2.4 为玩家的动作添加噪音 122
- 6.3 击杀敌人 124
- 通过重复使用现有蓝图节省时间 124
- 6.4 在游戏过程中产生更多的敌人 127
- 6.4.1 选择敌人出生点 127
- 6.4.2 使用变量管理敌人生成的速率和数量 128
- 6.4.3 在关卡蓝图中设置生成敌人的蓝图 130
- 6.5 创建敌人巡逻行为 133
- 6.5.1 使用自定义任务识别巡逻点 134
- 6.5.2 向行为树添加巡逻状态 136
- 6.6 小结 138
- 第7章 跟踪游戏状态完成游戏体验 139
- 7.1 引入玩家角色的死亡机制 139
- 7.2 创建lose界面 140
- 7.3 创建回合制玩法 143
- 7.3.1 使用SaveGame对象存储游戏信息 144
- 7.3.2 在游戏开始时存储和加载保存的数据 145
- 7.3.3 增加过关所需消灭的敌人数目 148
- 7.3.4 创建回合之间的切换界面 150
- 7.3.5 当前回合获胜时,跳转到新回合 152
- 7.4 暂停游戏并重置保存文件 154
- 7.4.1 创建暂停菜单 154
- 7.4.2 恢复并重置保存文件 155
- 7.4.3 触发暂停菜单 158
- 7.5 小结 160
- 第8章 打包与发行 161
- 8.1 优化图形设置 161
- 8.2 设置游戏的可玩性 164
- 打包游戏 167
- 8.3 进一步学习 168
- 8.3.1 完成和分享尽可能多的游戏 168
- 8.3.2 拓宽技术领域 169
- 8.3.3 学习资源 169
- 8.4 小结 170