本书系统讲解了Unreal Engine 5的功能,并结合案例讲解实际应用的方法与技巧。
全书共15章,从Unreal Engine 5编辑器的应用领域和快速有效的学习方法讲起,通过打造游戏世界的内容初步介绍了Unreal Engine 5的蓝图用法和常用功能,然后逐步讲解了蓝图可视化脚本系统、计算逻辑、常用组件、添加物理碰撞、可移动角色、场景物体蓝图、控件蓝图与UI动画、粒子特效、游戏数据与细节处理、通信交流功能、AI功能、2D绘制与动画等内容,并在最后一章通过制作第三人称角色扮演游戏串联巩固前面所讲的知识,既能加深读者对单一功能的印象,也能提高实际应用的能力。全流程的讲解方式可以让读者在全面掌握编辑器操作的同时了解实际制作的思维逻辑。书中的案例能让读者理解所讲的知识点,深入理解功能的原理,以及这些功能可以制作的内容和效果。本书力求让读者掌握拼接蓝图、添加模型、修改材质等技能,并举一反三,探索出远超书中所讲解的技巧与实现方法。
学习手册+在线视频+实例文件+附赠素材,操作基础+蓝图设计+架构设计+场景设计:
1.文字+配图的讲解形式,系统讲解Unreal Engine 5功能,结合案例讲解实际应用方法和技巧;
2.作者B站粉丝1.7万,在aboutcg平台上售卖付费课程,初级课程学员量8000+,中级课程学员量近2万;
3.以软件操作和蓝图讲解为主要内容,不断加深读者记忆,让读者可以更熟练的操作Unreal Engine 5;
4.文中大量提示和疑难解答模块,一定程度上解决读者在学习过程中遇到的疑点和难点;
5.随书附赠3个多小时的同步教学视频,14个案例训练+13个综合案例+1个全流程案例详解。
崔润,拥有丰富的虚幻引擎全栈开发经验,现任职于一家知名影视工业公司。曾与7家不同的公司展开跨领域的合作,涵盖游戏、虚拟现实(VR)、网络通信、影视等领域的项目,具体项目包括军事模拟训练系统、大型多人在线游戏(MMOG)、一体化VR教学软件部署等。同时,在引擎框架研发和编辑器研发方面,具备深厚的技术功底和实践经验。
第1章 打开新世界的大门 011
1.1 Unreal Engine 5的应用领域 012
1.1.1 游戏领域 012
1.1.2 影视领域 012
1.1.3 建筑领域 012
1.2 如何快速、有效地学习Unreal Engine 5 013
1.2.1 Unreal Engine 5的学习方法 013
1.2.2 Unreal Engine 5的专业术语 014
1.3 Unreal Engine 5的安装与资源的添加 015
1.3.1 引擎下载与安装 015
1.3.2 新建项目与添加内容 016
1.3.3 在虚幻商城下载或购买素材 017
1.3.4 导入不同类型的文件 019
1.4 Unreal Engine 5首选项与运行优化设置....022
第2章 打造游戏世界 023
2.1 Unreal Engine 5编辑器 024
2.1.1 修改引擎语言 024
2.1.2 新建关卡 024
2.1.3 视口的移动方法 025
2.1.4 “大纲”面板与聚焦 026
技术专题:显示指定资产 026
2.1.5 运行游戏 027
技术专题:在指定位置开始游戏 029
2.1.6 显示信息 029
2.1.7 保存自己的资源 030
2.2 三维物体的移动 031
2.2.1 添加物体与过滤资产 031
技术专题:模型三维操作提示 032
2.2.2 控制物体 033
案例训练:拼接两个物体 036
2.3 初识蓝图 037
2.3.1 创建Actor 037
技术专题:如何判断是否已保存资产 038
2.3.2 打开“蓝图编辑器”窗口 039
2.3.3 使用“打印字符串”节点输出字符串 040
技术专题:如何查看节点源码 041
2.3.4 蓝图书签 043
2.3.5 关卡蓝图 044
技术专题:无视情境搜索节点 045
2.3.6 查看引用 045
2.3.7 打印关卡中的资产名称 047
2.4 提高工作效率的方法 049
2.4.1 界面布局 049
技术专题:切换四视图 051
2.4.2 快捷操作与快捷键 052
案例训练:快速搭建一个关卡 053
综合训练:搭建场景关卡 055
综合训练:搭建建筑关卡 057
第3章 蓝图可视化脚本系统 063
3.1 控制简单变量 064
3.1.1 “细节”面板 064
3.1.2 事件 064
3.1.3 用蓝图控制默认值 066
3.1.4 构造脚本 068
3.1.5 注释 068
技术专题:为系列蓝图快速添加注释 069
3.1.6 变量 069
技术专题:为节点单独添加注释 070
3.2 简单的流程控制 071
3.2.1 分支 071
3.2.2 Gate 072
3.2.3 Flip Flop 072
3.2.4 延迟 073
3.2.5 Do Once 073
3.2.6 For Loop 073
3.2.7 While Loop 074
3.2.8 序列 074
3.3 按键映射 074
3.3.1 操作映射 075
技术专题:如何启用Actor输入 075
3.3.2 轴映射 075
案例训练:按键计数器 076
3.4 其他有关流程控制的节点 078
3.4.1 For Each Loop 078
3.4.2 For Each Loop with Break 078
3.4.3 MultiGate 078
3.4.4 可再触发延迟 078
3.5 手柄控制 078
3.5.1 手柄按键 078
3.5.2 VR按键 079
3.6 蓝图中的快捷操作与快捷键 080
3.6.1 蓝图中的快捷操作 080
3.6.2 有关变量和分类的快捷键 080
3.7 简单的随机功能 081
3.7.1 “MultiGate”节点 081
3.7.2 嵌套循环 081
综合训练:实现技能冷却 082
第4章 了解计算逻辑 085
4.1 简单标量计算 086
4.1.1 加减乘除 086
4.1.2 平方与平方根 086
4.1.3 取余运算 087
4.1.4 绝对值 087
4.1.5 简单数字运算 087
4.2 简单向量计算 087
4.2.1 在场景中生成线段 088
4.2.2 获取方向 089
4.2.3 计算原点右侧某个点的位置 090
4.2.4 计算原点上方某个点的位置 092
技术专题:连接线的梳理与打结 092
4.2.5 向量长度 093
4.3 其他计算方法 094
4.3.1 数学表达式 094
4.3.2 创建数值 095
4.3.3 时间轴 095
4.4 函数与宏 097
4.4.1 函数 097
4.4.2 宏 099
技术专题:折叠节点 100
4.5 库 100
4.5.1 蓝图函数库 100
4.5.2 蓝图宏库 101
4.6 其他节点 102
4.6.1 “选择”节点 102
4.6.2 “Switch on”节点 102
技术专题:开启枚举(Switch On) 103
4.7 伤害数据 104
4.7.1 有护甲时的伤害计算 104
4.7.2 无护甲时的伤害计算 105
综合训练:生成方阵 106
第5章 常用组件 109
5.1 基本组件 110
5.1.1 光源组件 110
5.1.2 摄像机组件 112
5.1.3 音频组件 115
5.1.4 移动组件 116
5.1.5 样条组件 118
5.2 创建组件 118
5.2.1 创建Actor组件 118
5.2.2 在Actor组件中添加变量与函数 119
5.2.3 在Actor中应用Actor组件 120
5.3 附加节点 120
5.3.1 将组件附加到另一个组件 121
5.3.2 将Actor附加到组件上 122
5.4 按键开关 123
5.4.1 按键开关灯 123
5.4.2 按键上升平台 124
案例训练:制作闪烁灯 126
技术专题:用数组的方式制作闪烁灯 126
5.5 使用蓝图控制组件 129
5.5.1 颜色交替效果 129
5.5.2 让物体沿轨迹行走 130
综合训练:制作红绿渐变灯 132
第6章 添加物理碰撞 135
6.1 简单碰撞 136
6.1.1 添加碰撞 136
6.1.2 模拟物理 138
6.1.3 碰撞设置 140
6.1.4 碰撞通道 142
6.2 碰撞蓝图 143
6.2.1 碰撞生成事件 143
6.2.2 碰撞后摧毁物体 144
6.2.3 碰撞体积 144
6.3 射线检测 146
6.3.1 线条射线检测 146
6.3.2 球形射线检测 148
6.3.3 多射线检测 149
6.3.4 碰撞信息 150
6.4 胶囊体射线与碰撞蓝图 151
6.4.1 胶囊体射线检测 151
6.4.2 开启/关闭碰撞 151
技术专题:使用蓝图控制碰撞 151
6.4.3 制作游戏中的空气墙 152
综合训练:制作“石头雨” 152
第7章 可移动角色 155
7.1 角色蓝图 156
7.1.1 角色 156
7.1.2 控制器 157
7.1.3 游戏模式 157
7.1.4 视野操控 158
7.1.5 移动操作 159
7.1.6 跳跃 160
7.2 人物动画 160
7.2.1 添加人物模型 160
7.2.2 动画蓝图 161
7.2.3 混合空间 162
7.2.4 状态切换 166
7.2.5 跳跃动画 169
7.2.6 播放蒙太奇 172
技术专题:“蒙太奇播放”节点 173
案例训练:制作可操作角色 174
7.3 按键配置的导入或导出 176
7.3.1 导出配置文件 176
7.3.2 导入配置文件 177
7.4 简单的角色技能 177
7.4.1 指定距离传送 177
7.4.2 指定位置传送 178
7.4.3 发射角色 178
7.4.4 落地事件 179
案例训练:制作弹跳板 179
7.5 随机移动 182
7.5.1 半径内随机移动 182
7.5.2 在物体附近随机移动 183
案例训练:制作一个正方体生成器 185
7.6 VR控制 186
7.6.1 获取VR手柄的位置 186
7.6.2 双手手柄 187
第8章 场景物体蓝图 189
8.1 蓝图控制 190
8.1.1 上下反复移动 190
8.1.2 左右反复移动 191
8.1.3 持续旋转 193
8.2 碰撞蓝图控制 194
8.2.1 升降梯 194
8.2.2 弹跳板 197
8.2.3 具有方向的弹跳板 198
8.2.4 尖刺陷阱 199
8.3 外部控制变量 203
8.3.1 暴露变量 203
8.3.2 在生成时控制 204
案例训练:生成一个彩色方阵 205
8.4 开关门 208
8.4.1 靠近开门与离开关门 208
8.4.2 双开门 210
技术专题:制作升降活塞门 212
8.5 电梯功能 213
8.5.1 指定层数 213
8.5.2 升降 214
8.6 过场动画 215
8.6.1 创建新的定序器 215
8.6.2 摄像机和帧 216
8.6.3 添加事件 218
案例训练:制作简易过场动画 220
综合训练:制作星球环绕效果 222
第9章 控件蓝图与UI动画 227
9.1 控件蓝图的相关内容 228
9.1.1 创建控件蓝图 228
技术专题:其他显示UI的方式 230
9.1.2 添加子控件 230
9.1.3 子控件属性 232
9.1.4 控件事件 233
9.1.5 排版 235
9.1.6 函数绑定 237
9.2 UI动画 239
9.2.1 创建动画 239
9.2.2 设置颜色 241
9.2.3 设置大小 242
9.2.4 播放动画 243
9.3 控件蓝图的一些使用方法 244
9.3.1 暴露UI变量 244
9.3.2 使用传入变量 245
9.3.3 移除控件 246
技术专题:移除其他类型蓝图中的控件 246
9.3.4 将控件作为组件放入“Actor”类蓝图 247
9.3.5 获得控件组件的引用 248
案例训练:显示物品名称 249
9.4 主菜单 252
9.4.1 基础设置 252
9.4.2 开始游戏与退出游戏 253
9.4.3 过渡动画 255
9.4.4 图片与边框装饰 257
综合训练:制作游戏暂停界面 258
第10章 粒子特效 261
10.1 Niagara粒子特效 262
10.1.1 粒子发射器 262
10.1.2 粒子生成速度 262
10.1.3 粒子寿命 264
10.1.4 新增模块 264
技术专题:模块顺序出现问题 265
案例训练:制作下雪特效 266
案例训练:制作烟雾特效 269
10.2 变量切换 272
10.2.1 曲线 272
10.2.2 颜色 273
10.2.3 浮点 274
案例训练:制作角色的飘浮特效 275
10.3 外部变量控制 278
10.3.1 粒子系统 278
10.3.2 设置变量 279
10.3.3 使用蓝图控制变量 280
案例训练:制作粒子被某物体吸引的特效 280
综合训练:制作游戏小特效 283
第11章 游戏数据与细节处理 289
11.1 容器 290
11.1.1 数组 290
11.1.2 集合 294
11.1.3 映射(字典) 295
技术专题:集合与映射 295
11.2 结构体与数据表 296
11.2.1 创建结构体 296
11.2.2 创建数据表 297
11.2.3 得到数据表的某一行 298
11.2.4 导入、导出数据表 299
11.2.5 编辑数据表 300
11.3 破碎 300
11.4 震动 301
11.4.1 摄像机震动 301
11.4.2 手柄震动 302
11.5 动画通知与音效 303
11.5.1 动画通知 303
11.5.2 动画通知音效 304
综合训练:文本显示器 305
第12章 通信交流功能 309
12.1 继承 310
12.1.1 创建子类蓝图 310
12.1.2 函数继承与重写 311
12.1.3 事件继承与重写 313
12.2 转换 315
12.2.1 父类变量容纳子类 315
12.2.2 使用转换节点 317
12.2.3 单击转换 317
12.3 蓝图接口 319
12.3.1 创建蓝图接口与添加函数 319
12.3.2 添加到类设置 320
12.3.3 蓝图接口通信 321
技术专题:删除蓝图接口 321
12.4 NPC对话系统 322
12.4.1 NPC基础蓝图 322
12.4.2 玩家与NPC之间的蓝图通信 323
综合训练:实现字幕UI 325
第13章 实现简单的AI功能 329
13.1 行为树 330
13.1.1 创建AI行为树 330
技术专题:黑板 332
13.1.2 选择器与序列 332
13.1.3 寻路到随机地点 332
13.2 AI感应 336
13.2.1 AI视野 336
13.2.2 锁敌状态切换 337
13.2.3 AI锁敌 339
13.2.4 AI环绕物体运动 340
13.3 AI攻击 341
13.3.1 魔法球 341
13.3.2 AI攻击任务 343
13.3.3 魔法球击中特效 345
综合训练:制作敌人AI 345
第14章 2D绘制与动画 351
14.1 2D静物 352
14.1.1 导入纹理 352
14.1.2 制作为Sprite 352
14.2 制作2D动画 353
14.2.1 打碎序列帧 353
14.2.2 Flip-Book 355
14.3 制作角色 355
14.3.1 2D角色导入 356
14.3.2 角色动画切换 358
综合训练:制作横版游戏 358
技术专题:光剑射出方向问题 365
技术专题:方向相反的解决办法 366
技术专题:与书中轴向不同 366
第15章 制作第三人称RPG 367
15.1 游戏内容概述 368
15.2 制作主菜单 369
15.2.1 项目新建与资源导入 369
15.2.2 绘制游戏主菜单 369
15.2.3 游戏主菜单动画 372
15.2.4 游戏主菜单逻辑 374
15.3 设计玩家角色 377
15.3.1 创建基本框架 377
15.3.2 玩家控制 378
技术专题:同名的“获取控制旋转”节点 379
15.3.3 角色模型 379
15.3.4 角色动画 381
15.3.5 角色休息 384
15.3.6 玩家UI设计 387
15.3.7 角色攻击操作 391
15.4 设计AI 395
15.4.1 AI创建 395
15.4.2 AI随机移动 396
15.4.3 AI逃跑 398
15.4.4 AI部署 399
15.4.5 AI动画 401
15.4.6 重写AI倒地函数 403
15.4.7 游戏进度UI更新 404
15.4.8 AI名称 405
15.5 制作关卡道具和机关 406
15.5.1 血量恢复道具 406
15.5.2 受伤道具 408
15.5.3 陷阱 409
15.6 场景优化与游戏打包 410
15.6.1 刷涂植被 410
15.6.2 打包游戏 412