第1章 虚幻引擎4简介 1
1.1 安装虚幻引擎 2
1.1.1 下载和安装启动器 2
1.1.2 下载和安装虚幻引擎 3
1.2 创建你的第一个项目 4
1.3 学习界面 5
1.3.1 菜单栏 6
1.3.2 模式面板 6
1.3.3 世界大纲面板 7
1.3.4 细节面板 8
1.3.5 内容浏览器面板 8
1.3.6 视口面板 9
1.4 视图模式和可视化工具 10
1.4.1 显示标签 11
1.4.2 透视视口在关卡中导航 11
1.4.3 关卡编辑器工具栏 12
1.5 试玩关卡 12
1.6 小结 13
1.7 问&答 13
1.8 讨论 13
1.8.1 提问 13
1.8.2 回答 13
1.9 练习 14
第2章 理解Gameplay框架 15
2.1 可用的资源 15
2.1.1 在编辑器中播放 16
2.1.2 项目文件夹结构 17
2.2 资源引用和引用查看器 22
2.3 Gameplay框架 23
2.3.1 GameMode类 23
2.3.2 Controller类 24
2.3.3 Pawn和Character类 24
2.3.4 HUD类 24
2.4 小结 26
2.5 问&答 26
2.6 讨论 27
2.6.1 提问 27
2.6.2 回答 27
2.7 练习 27
第3章 坐标系、变换、单位和组织 28
3.1 理解笛卡儿坐标系 28
3.2 使用变换 29
3.2.1 变换工具 29
3.2.2 平移变换 30
3.2.3 缩放变换 30
3.2.4 旋转变换 30
3.2.5 交互式变换和手动变换 31
3.2.6 世界变换和本地变换 31
3.3 评估单位和测量 31
3.3.1 网格单位 32
3.3.2 对齐到网格 32
3.4 组织场景 33
3.4.1 世界大纲视图 33
3.4.2 文件夹 34
3.4.3 组合 35
3.4.4 图层 36
3.5 附加 36
3.6 小结 37
3.7 问&答 38
3.8 讨论 38
3.8.1 提问 38
3.8.2 回答 38
3.9 练习 39
第4章 使用静态网格Actor 40
4.1 静态网格资源 40
4.2 静态网格物体编辑器 41
4.2.1 打开静态网格物体编辑器窗口 41
4.2.2 导入静态网格资源 42
4.3 查看UV布局 43
4.4 碰撞壳 44
4.4.1 查看碰撞壳 45
4.4.2 编辑碰撞壳 45
4.4.3 壳分解 47
4.4.4 每多边形碰撞 47
4.5 静态网格Actor 48
4.5.1 放置静态网格Actor到关卡中 48
4.5.2 移动性设置 49
4.5.3 为静态网格Actor改变网格引用 49
4.5.4 在静态网格Actor上替换材质 49
4.5.5 在静态网格Actor上编辑碰撞响应 50
4.5.6 碰撞预设 50
4.5.7 Collision Enabled 51
4.5.8 Object Type 51
4.5.9 碰撞响应标签 52
4.6 小结 52
4.7 问&答 52
4.8 讨论 52
4.8.1 提问 53
4.8.2 回答 53
4.9 练习 53
第5章 使用光照和渲染 54
5.1 学习光照术语 54
5.2 理解光源类型 55
5.2.1 添加点光源 55
5.2.2 添加聚光源 56
5.2.3 添加天空光源 57
5.2.4 添加定向光源 58
5.3 使用光源属性 58
5.4 构建光照 59
5.4.1 Swarm Agent 59
5.4.2 移动性 61
5.5 小结 62
5.6 问&答 62
5.7 讨论 62
5.7.1 提问 62
5.7.2 回答 63
5.8 练习 63
第6章 使用材质 64
6.1 理解材质 64
6.2 基于物理渲染 65
6.3 材质输入类型 65
6.3.1 基础颜色 65
6.3.2 金属 66
6.3.3 粗糙度 66
6.3.4 法线 66
6.4 创建贴图 67
6.4.1 贴图尺寸 67
6.4.2 2的幂 68
6.4.3 贴图文件类型 68
6.4.4 导入贴图 69
6.5 创建材质 69
6.5.1 输入和输出 70
6.5.2 值节点 71
6.5.3 材质实例 72
6.6 小结 74
6.7 问&答 74
6.8 讨论 75
6.8.1 提问 75
6.8.2 回答 75
6.9 练习 76
第7章 使用音频系统元素 77
7.1 音频基础 77
7.1.1 Audio Component 77
7.1.2 导入音频文件 78
7.2 使用音效Actor 79
7.2.1 设置Attenuation 80
7.2.2 使用Modulation属性 81
7.2.3 创建Sound Cue 81
7.2.4 高级Sound Cue 83
7.3 使用Audio Volume控制音效 84
7.4 小结 85
7.5 问&答 85
7.6 讨论 85
7.6.1 提问 85
7.6.2 回答 85
7.7 练习 86
第8章 创建地貌和植被 87
8.1 使用地貌 87
8.1.1 地貌工具 87
8.1.2 管理标签页 88
8.1.3 高度图 88
8.1.4 创建地貌 88
8.1.5 地貌管理 90
8.2 雕刻形状和体积 90
8.2.1 工具菜单 91
8.2.2 画刷菜单 91
8.2.3 衰减菜单 91
8.2.4 描画 91
8.2.5 地貌材质 92
8.3 使用植被 94
8.4 小结 96
8.5 问&答 96
8.6 讨论 96
8.6.1 提问 97
8.6.2 回答 97
8.7 练习 97
第9章 游戏世界搭建 98
9.1 搭建游戏世界 99
9.1.1 环境叙事 99
9.1.2 关卡的结构 100
9.2 搭建游戏世界流程 100
9.2.1 建立比例 100
9.2.2 建立范围 101
9.2.3 壳和阻挡 102
9.2.4 放置道具和资源 104
9.2.5 视觉复杂性和取景 104
9.2.6 光照和音效 107
9.2.7 试玩和完善 109
9.3 小结 111
9.4 问&答 111
9.5 讨论 112
9.5.1 提问 112
9.5.2 回答 112
9.6 练习 112
第10章 制作粒子效果 114
10.1 理解粒子和数据类型 114
10.2 使用Cascade编辑器 115
10.2.1 使用发射器和模块 116
10.2.2 使用曲线编辑器 118
10.3 使用常见模块 119
10.3.1 Required模块 119
10.3.2 Spawn模块 120
10.3.3 Lifetime模块 121
10.3.4 Initial Size和Size By Life模块 121
10.3.5 Initial Color、 Scale Color/Life和Color Over Life模块 121
10.3.6 Initial Velocity、 Inherit Parent Velocity和Const Acceleration模块 122
10.3.7 Initial Location和Sphere模块 122
10.3.8 Initial Rotation和Rotation Rate模块 123
10.4 为粒子设置材质 123
10.5 触发粒子系统 125
10.5.1 自动激活 125
10.5.2 通过关卡蓝图激活粒子系统 126
10.6 小结 126
10.7 问&答 126
10.8 讨论 127
10.8.1 提问 127
10.8.2 回答 127
10.9 练习 127
第11章 使用Skeletal Mesh Actor 128
11.1 定义Skeletal Mesh 128
11.2 导入Skeletal Mesh 131
11.3 学习Persona 134
11.3.1 骨架模式 134
11.3.2 网格物体模式 135
11.3.3 动画模式 136
11.3.4 图表模式 138
11.4 使用Skeletal Mesh Actor 139
11.5 小结 141
11.6 问&答 141
11.7 讨论 141
11.7.1 提问 141
11.7.2 回答 142
11.8 练习 142
第12章 Matinee和影片 143
12.1 Matinee Actor 143
12.2 Matinee编辑器 145
12.2.1 轨迹面板 145
12.2.2 设置序列帧长度 146
12.2.3 播放条 146
12.2.4 Groups 146
12.2.5 轨迹 147
12.2.6 文件夹 148
12.3 曲线编辑器 149
12.4 使用其他轨迹 151
12.5 在Matinee中使用摄像机 152
12.5.1 Camera Group和Actor 152
12.5.2 Director Group 154
12.5.3 使用Matinee数据资源 155
12.6 小结 156
12.7 问&答 156
12.8 讨论 156
12.8.1 提问 156
12.8.2 回答 157
12.9 练习 157
第13章 学习使用物理系统 158
13.1 在UE4中使用物理学 158
13.1.1 常见物理术语 159
13.1.2 分配物理Game Mode给一个关卡 159
13.1.3 项目设置和世界物理设置 160
13.2 模拟物理 161
13.3 使用物理材质 162
13.3.1 创建一个物理材质资源 163
13.3.2 分配物理材质给Static Mesh Actor 163
13.3.3 分配物理材质给材质 164
13.4 使用约束 165
13.4.1 附加Physics Actor 165
13.4.2 Physics Constraint Actor 166
13.5 Force Actor 168
13.5.1 Physics Thruster Actor 168
13.5.2 Radial Force Actor 169
13.6 小结 170
13.7 问&答 170
13.8 讨论 171
13.8.1 提问 171
13.8.2 回答 171
13.9 练习 171
第14章 蓝图可视化脚本系统 173
14.1 可视化脚本基础 173
14.2 理解蓝图编辑器 174
14.3 脚本中的基本概念 178
14.3.1 事件 178
14.3.2 函数 180
14.3.3 变量 181
14.3.4 运算符和条件 184
14.3.5 脚本组织和注释 185
14.4 小结 186
14.5 问&答 186
14.6 讨论 186
14.6.1 提问 186
14.6.2 回答 187
14.7 练习 187
第15章 使用关卡蓝图 189
15.1 Actor碰撞设置 190
15.2 分配Actor给事件 191
15.3 分配Actor给引用变量 193
15.3.1 Actor组件 193
15.3.2 获得和设置Actor的属性 194
15.3.3 函数目标 194
15.3.4 Activate属性 196
15.3.5 Play Sound at Location函数 197
15.3.6 使用物理Actor激活事件 199
15.4 小结 199
15.5 问&答 200
15.6 讨论 200
15.6.1 提问 200
15.6.2 回答 201
15.7 练习 201
第16章 使用蓝图类 202
16.1 使用蓝图类 202
16.2 蓝图编辑器界面 204
16.3 使用组件 205
16.3.1 添加组件 205
16.3.2 视口面板 205
16.3.3 编写组件蓝图脚本 207
16.4 使用Timeline 209
16.5 编写一个脉冲光源 212
16.6 小结 217
16.7 问&答 217
16.8 讨论 217
16.8.1 提问 217
16.8.2 回答 218
16.9 练习 218
第17章 使用可编辑变量和构造脚本 219
17.1 设置 219
17.2 可编辑变量 219
17.3 使用构造脚本 221
17.3.1 添加Static Mesh Component 222
17.3.2 添加Static Mesh Component 224
17.4 小结 226
17.5 问&答 227
17.6 讨论 227
17.6.1 提问 227
17.6.2 回答 227
17.7 练习 228
第18章 制作按键输入事件和生成Actor 229
18.1 为什么生成特别重要 229
18.2 创建一个要生成的蓝图类 230
18.2.1 使用构造脚本 230
18.2.2 使用“在生成时显示”变量属性 232
18.3 设置生成器蓝图 232
18.4 从一个类生成一个Actor 234
18.5 小结 237
18.6 问&答 237
18.7 讨论 237
18.7.1 提问 237
18.7.2 回答 238
18.8 练习 238
第19章 制作一个遭遇战 240
19.1 项目的Game Mode 240
19.1.1 平视显示器 241
19.1.2 游戏计时器和重生系统 241
19.2 了解角色的能力 241
19.3 使用蓝图类 242
19.3.1 BP_Common文件夹 243
19.3.2 BP_Turrets文件夹 245
19.3.3 BP_Respawn文件夹 245
19.3.4 BP_Pickup文件夹 246
19.3.5 BP_Levers文件夹 246
19.4 Actor和组件Tag 247
19.5 小结 247
19.6 问&答 248
19.7 讨论 248
19.7.1 提问 248
19.7.2 回答 248
19.8 练习 248
第20章 创建一个街机射击游戏:输入系统和Pawn 250
20.1 通过设计总结确认需求 251
20.2 创建一个游戏项目 251
20.3 创建一个自定义Game Mode 253
20.4 创建一个自定义Pawn和Player Controller 255
20.5 控制一个Pawn的移动 257
20.5.1 禁用默认移动 259
20.5.2 设置输入行为和按键绑定 259
20.5.3 使用输入事件移动一个Pawn 261
20.6 设置一个固定摄像机 263
20.7 小结 264
20.8 问&答 264
20.9 讨论 265
20.9.1 提问 265
20.9.2 回答 265
20.10 练习 265
第21章 创建一个街机射击游戏:障碍物和可拾取物品 267
21.1 创建一个障碍物基类 268
21.2 让你的障碍物移动 270
21.3 伤害Pawn 273
21.4 在死亡时重新开始游戏 276
21.5 创建一个治疗可拾取物品 278
21.6 创建一个Actor Spawner 283
21.7 清理旧的障碍物 287
21.8 小结 287
21.9 问&答 287
21.10 讨论 288
21.10.1 提问 288
21.10.2 回答 289
21.11 练习 289
第22章 使用UMG 290
22.1 创建一个控件蓝图 290
22.2 浏览UMG界面 291
22.2.1 设计师模式 291
22.2.2 图表模式 292
22.2.3 设置分辨率 293
22.2.4 锚点和DPI缩放 294
22.3 创建一个开始菜单 294
22.3.1 导入资源 294
22.3.2 放置控件到画布上 296
22.4 案例菜单系统 302
22.5 小结 303
22.6 问&答 303
22.7 讨论 303
22.7.1 提问 304
22.7.2 回答 304
22.8 练习 304
第23章 制作一个可执行文件 305
23.1 烘焙内容 305
23.2 为Windows平台打包一个项目 306
23.3 对于安卓和iOS打包的资源 309
23.4 访问高级打包设置 309
23.5 小结 310
23.6 问&答 311
23.7 讨论 311
23.7.1 提问 311
23.7.2 回答 311
23.8 练习 311
第24章 使用移动设备 313
24.1 为移动设备开发 314
24.1.1 为移动设备预览 314
24.1.2 为移动设备优化 316
24.1.3 设置编辑器目标 319
24.2 使用触摸控制 320
24.2.1 虚拟摇杆 321
24.2.2 Touch事件 322
24.3 使用一个设备的运动数据 324
24.4 小结 326
24.5 问&答 326
24.6 讨论 327
24.6.1 提问 327
24.6.2 回答 327
24.7 练习 328