第1章 蓝图简介 1
1.1 蓝图的工作原理 2
1.2 常用的蓝图类型 2
1.3 蓝图还能够做什么 3
1.4 蓝图编辑器和图表 5
第2章 常规脚本 6
2.1 基础脚本 7
2.1.1 变量 7
2.1.2 执行流程 7
2.1.3 阵列和结构 7
2.2 蓝图中的转换 7
2.3 事件 8
2.3.1 Event Level Reset 9
2.3.2 Event Actor Begin Overlap 9
2.3.3 Event Actor End Overlap 9
2.3.4 Event Hit 10
2.3.5 Event Any Damage 11
2.3.6 Event Point Damage 11
2.3.7 Event Radial Damage 12
2.3.8 Event Actor Begin Cursor Over 13
2.3.9 Event Actor End Cursor Over 13
2.3.10 Event Begin Play 13
2.3.11 Event End Play 14
2.3.12 Event Destroyed 14
2.3.13 Event Tick 14
2.3.14 Event Receive Draw HUD 15
2.3.15 Custom Event 15
2.4 蓝图中的结构体变量 19
2.4.1 创建结构体 19
2.4.2 访问结构体信息 20
2.4.3 拆分结构体 21
第3章 建造蓝图 24
3.1 蓝图剖析 25
3.1.1 蓝图类 25
3.1.2 蓝图基础用户指南 28
3.1.3 组件 34
3.1.4 事件图表 39
3.1.5 图表 39
3.1.6 构造脚本 41
3.2 用蓝图工作 41
3.2.1 蓝图编辑器速查表 42
3.2.2 蓝图搜索 45
3.2.3 蓝图调试1 47
3.2.4 蓝图调试2 50
3.2.5 注释 55
3.3 蓝图指导 57
3.3.1 创建蓝图类 58
3.3.2 连接节点 59
3.3.3 重叠图表 65
3.3.4 设置和获取Actor引用 70
3.3.5 创建函数 76
3.3.6 蓝图用户指南:变量 80
3.3.7 直接蓝图通信 86
3.3.8 蓝图转换范例 89
3.3.9 事件分配器 92
3.3.10 创建宏 96
3.3.11 放置节点 99
3.3.12 使用陈列 103
3.3.13 使用接口 109
3.3.14 使用宏库 115
3.4 蓝图最佳方法 118
3.4.1 关卡蓝图vs蓝图类 118
3.4.2 类变量vs本地变量 119
3.4.3 函数vs宏 119
3.4.4 蓝图通信类型 120
3.4.5 常规提示 120
第4章 蓝图通信 122
4.1 蓝图通信用法 123
4.2 蓝图通信项目 125
4.2.1 概述 125
4.2.2 所需资源的设置 126
4.2.3 对所需角色的设置 131
4.2.4 生成可射击的岩石 135
4.2.5 从关卡传递信息到角色 139
4.2.6 销毁岩石 142
4.2.7 使用HUD通信 145
4.2.8 发挥想象 147
4.3 管理蓝图通信 148
4.3.1 概述 148
4.3.2 引用目标蓝图的简单方法 148
4.3.3 引用目标蓝图的其他方法 151
4.3.4 问题解决 153
4.3.5 蓝图接口迁移 153
4.4 事件调度器 154
4.4.1 绑定及解除绑定事件 156
4.4.2 调用事件调度器 158
4.4.3 创建调度事件 160
4.5 蓝图接口 161
4.5.1 概述 161
4.5.2 创建蓝图接口 162
4.5.3 编辑蓝图接口 162
4.5.4 实现蓝图接口 164
第5章 蓝图编辑器 168
5.1 蓝图编辑器模式 169
5.2 蓝图类UI 170
5.3 仅包含数据的蓝图UI 171
5.4 蓝图接口用户界面 171
5.4.1 概述 171
5.4.2 蓝图接口编辑器用户界面 171
5.5 关卡蓝图UI 172
5.5.1 概述 172
5.5.2 接口 173
5.6 宏库UI 173
5.7 编译器结果 174
5.7.1 概述 174
5.7.2 界面 174
5.7.3 打开编译器结果面板 175
5.7.4 错误和警告浏览 175
5.8 调试面板 176
5.8.1 概述 176
5.8.2 界面 176
5.9 详细信息面板 177
5.9.1 概述 177
5.9.2 界面 177
5.10 搜索结果面板 178
5.10.1 概述 178
5.10.2 界面 179
5.11 菜单 179
5.11.1 概述 179
5.11.2 文件 180
5.11.3 编辑 180
5.11.4 资源 180
5.11.5 视图 180
5.11.6 调试 181
5.11.7 窗口 181
5.12 我的蓝图 181
5.12.1 创建按钮 182
5.12.2 我的蓝图部分 182
5.12.3 在我的蓝图中进行搜索 183
5.13 Palette(面板) 183
5.13.1 提炼面板结果 184
5.13.2 放置节点 184
5.14 蓝图编辑器视口 185
5.14.1 概述 185
5.14.2 视图菜单 185
第6章 蓝图技术指南 186
6.1 暴露游戏元素给蓝图 187
6.1.1 概述 187
6.1.2 创建蓝图可以继承的类 187
6.1.3 可读和可写属性 188
6.1.4 可执行和可重载的函数 188
6.2 蓝图编程指南 189
6.2.1 速度 189
6.2.2 复杂度 190
6.2.3 范例 190
6.2.4 创建蓝图API:提示和技巧 190
6.3 原生化蓝图 192
6.3.1 启用蓝图原生化 192
6.3.2 从转换中排除蓝图 193
6.4 高级蓝图原生化 193
6.4.1 使用虚幻自动化工具进行构建 193
6.4.2 C++协作 193
6.4.3 技术细节 194
第7章 在线会话节点 195
7.1 在线会话节点 196
7.2 创建会话 196
7.3 寻找会话 196
7.4 加入会话 196
7.5 销毁会话 196
7.6 错误处理节点 197
7.7 Event Network Error 197
7.8 Event Travel Error 197
第8章 Bitmask蓝图变量 198
8.1 创建位掩码变量 199
8.2 在运行时构建位掩码 199
8.3 位掩码用法 200
第9章 蓝图应用实战 202
9.1 蓝图数组 203
9.1.1 概述 203
9.1.2 创建数组 203
9.1.3 编辑数组 204
9.1.4 数组默认值 204
9.1.5 通过节点网络设置数组值 205
9.1.6 数组索引 205
9.1.7 数组节点 205
9.2 流程控制 208
9.2.1 概述 208
9.2.2 开关节点 208
9.2.3 编辑开关节点 208
9.2.4 标准流程控制节点 209
9.3 函数 218
9.3.1 访问修饰符 218
9.3.2 纯函数和非纯函数 219
9.3.3 创建函数 219
9.3.4 编辑函数 220
9.3.5 调用函数 222
9.3.6 函数疑难解答 223
9.3.7 函数调用 224
9.4 宏 224
9.4.1 创建蓝图宏 224
9.4.2 构建蓝图宏 226
9.5 数学表达式节点 228
9.5.1 概述 228
9.5.2 变量 230
9.5.3 运算顺序 230
9.5.4 可用的蓝图函数 230
9.5.5 基本结构体类型 231
9.5.6 支持的操作符 231
9.5.7 不支持的操作符 231
9.6 节点 232
9.6.1 概述 232
9.6.2 应用节点 232
9.6.3 放置节点 232
9.6.4 选择节点 233
9.6.5 移动节点 234
9.6.6 引脚 234
9.6.7 连线 236
9.6.8 合并的图表 239
9.7 随机流 243
9.7.1 RandomStream(随机流)变量 243
9.7.2 随机流函数 244
9.7.3 初始种子 245
9.8 时间轴 246
9.8.1 创建时间轴 247
9.8.2 编辑时间轴 248
9.8.3 闪光灯 250
9.8.4 开门 252
9.8.5 关键帧和曲线 253
9.8.6 时间轴节点 255
附录 蓝图术语表 261