学前导读17
第 1章 熟悉UE4的操作:搭建一个房子31
1.1 概要32
1.2 搭建场景33
1.2.1 添加太阳与天空 33
1.2.2 平移/旋转/缩放 36
1.2.3 世界坐标与局部坐标 37
1.2.4 添加静态网格物体 38
1.3 光源类型45
1.3.1 定向光源 45
1.3.2 点光源 46
1.3.3 聚光源 47
1.4 构建光照48
1.5 光源的移动性49
1.5.1 固定光源 49
1.5.2 静态光源 50
1.5.3 可移动光源. 50
1.6 材质51
1.6.1 创建材质 51
1.6.2 最终材质输出节点 51
1.6.3 使用三维向量设置基础颜色 52
1.6.4 为模型设置材质 53
1.6.5 获取更多材质54
技术答疑:如何为场景添加“后处理”效果54
第 2章 掌握Actor:飞碟躲障碍游戏 57
2.1 概要58
2.2 初识类与对象59
2.2.1 类 59
2.2.2 对象 60
2.2.3 游戏中的类与对象 60
2.3 Actor——所有类的父类60
2.3.1 创建Actor类 60
2.3.2 使用“静态网格体”组件制作飞碟61
2.3.3 在关卡中添加摄像机 64
2.4 让飞碟动起来65
2.4.1 输入事件 65
2.4.2 变量 67
2.4.3 Tick事件69
2.5 在场景中添加障碍物71
技术答疑:如何改变飞碟的速度71
第3章 碰撞处理:密室逃脱游戏75
3.1 概要76
3.2 自动打开的门77
3.2.1 制作门的Actor类77
3.2.2 门的碰撞事件 80
3.2.3 时间轴82
3.3 碰到即可获得的钥匙86
3.3.1 布尔型变量86
3.3.2 制作钥匙的Actor类 87
3.3.3 钥匙的碰撞事件 87
3.3.4 播放音效89
3.4 使用钥匙开门90
3.5 设计密室逃脱地图93
技术答疑:如何设计更加有趣的地图94
第4章 角色类与玩家控制器:平台跳跃游戏97
4.1 概要98
4.2 GamePlay框架 100
4.2.1 创建游戏模式 100
4.2.2 创建玩家角色蓝图 101
4.2.3 创建玩家控制器101
4.2.4 更改游戏模式102
4.3 玩家角色蓝图 103
4.3.1 制作游戏主角 103
4.3.2 弹簧臂与摄像机110
4.3.3 使用自定义事件实现角色移动 111
4.4 输入映射 114
4.4.1 坐标轴映射 114
4.4.2 动作映射 116
4.5 玩家控制器 116
4.6 跳跃 119
4.6.1 使用Jump函数实现角色跳跃功能119
4.6.2 实现更好的跳跃手感 120
4.7 角色转身与视角旋转 122
4.7.1 让角色能够转身122
4.7.2 滑动鼠标控制视角 123
4.8 搭建场景 125
技术答疑:角色落地后如何自动回到起点133
第5章 初识用户界面:赛车游戏计分系统137
5.1 概要 138
5.2 准备赛车游戏 140
5.2.1 编辑输入映射 140
5.2.2 更换场景并编辑游戏模式 141
5.3 碰到方块就得分 144
5.3.1 制作反光效果材质144
5.3.2 制作得分方块145
5.4 制作计分界面 148
5.4.1 创建用户界面 148
5.4.2 使用“Text”组件显示分数148
5.4.3 将得分绑定到“Text”组件. 150
5.4.4 显示用户界面. 151
5.5 编辑场景 152
技术答疑:如何使用粒子特效 153
第6章 用户界面进阶与简单动画蓝图:换装游戏155
6.1 概要 156
6.2 制作开始界面 157
6.2.1 在用户界面上添加按钮 157
6.2.2 在场景中显示开始界面 160
6.3 制作换装界面 163
6.3.1 为界面添加3种不同颜色 163
6.3.2 在场景中显示换装界面 165
6.3.3 通过单击按钮切换关卡 168
6.4 准备主角 169
6.4.1 在角色蓝图中使用骨架网格物体 169
6.4.2 初识动画蓝图. 171
6.4.3 制作并播放动画蒙太奇 172
6.4.4 将主角添加到换装场景中. 176
6.5 开始换装 177
6.5.1 使用自定义函数实现换装功能. 177
6.5.2 单击时调用换装函数 179
技术答疑:如何在换装时播放动画 183
第7章 动画蓝图进阶:跑酷游戏.187
7.1 概要 188
7.2 搭建跑酷游戏场景 189
7.3 制作动作平滑自然的主角 196
7.3.1 制作“混合空间”. 196
7.3.2 从动画蓝图中获取角色速度. 198
7.3.3 使用“混合空间” 199
7.3.4 制作玩家角色蓝图 200
7.3.5 让角色出现在场景中 201
7.4 奔跑、跳跃和转向 202
7.4.1 让角色跑起来 202
7.4.2 按空格键进行跳跃 203
7.4.3 让角色拥有转向的能力 206
7.4.4 在合适的时机转向 210
7.5 惩罚与奖励 213
7.5.1 制作死亡体积 213
7.5.2 制作障碍物体积. 218
7.5.3 制作宝物体积. 220
技术答疑:如何丰富主角动作 226
第8章 创建人工智能:聪明的敌人角色231
8.1 概要 232
8.2 准备投掷游戏 234
8.2.1 编辑输入映射与修改角色蓝图. 234
8.2.2 创建游戏模式并编辑场景. 235
8.3 拾取并投掷能量球 237
8.3.1 创建能量球 237
8.3.2 让主角类引用能量球类 239
8.3.3 在角色骨骼中添加插槽 240
8.3.4 制作拾取和投掷动作的动画蒙太奇 241
8.3.5 编写拾取能量球的蓝图程序 245
8.3.6 编写投掷能量球的蓝图程序. 249
8.4 准备人工智能程序框架 253
8.4.1 创建敌人的角色蓝图 253
8.4.2 创建敌人的动画蓝图 254
8.4.3 创建“行为树”. 256
8.4.4 创建“黑板”. 257
8.5 巡逻 258
8.5.1 创建任务类蓝图. 258
8.5.2 在“行为树”中使用任务 260
8.5.3 在场景中添加导航体积 261
8.6 追击 262
8.6.1 使用球体追踪来检测主角的存在 262
8.6.2 使用装饰器作为“行为树”的判断条件. 265
8.7 互相伤害 267
技术答疑:如何实现更好的瞄准手感 271
第9章 游戏开发训练:第三人称动作游戏.273
9.1 概要 274
9.2 角色类结构 277
9.3 输入映射 279
9.4 关卡设定 279