Unreal Engine4开发与应用(上)
¥70.00定价
作者: 周洪丽,刘长浩
出版时间:2022-05
出版社:重庆大学电子音像出版社
- 重庆大学电子音像出版社
- 9787894466075
- 1版
- 443915
- 68256370-5
- 平装
- 16开
- 2022-05
- 522
- 334
- 工学
- 计算机科学与技术
- 计算机类
- 高职
内容简介
本书主要讲解了编辑器功能概述,地形编辑,UE4游戏框架,材质贴图,蓝图剖析,蓝图组织结构,蓝图控制,动画系统和UI系统。通过本书的学习,学生能掌握Unreal Engine4开发与应用的知识和实际应用。
目录
目录
第1章 编辑器功能概述 1
1.1 编辑器简介 3
1.1.1 编辑器主窗口 3
1.2 关卡编辑器 4
1.2.1 主菜单 4
1.2.2 关卡模式 7
1.2.3 参数面板 9
1.2.4 编辑运行 12
1.2.5 场景大纲 14
1.2.6 编辑器视图 16
1.2.7 关卡编辑工具栏 23
1.2.8 内容管理 31
1.2.9 Actors 32
1.2.10 组件 32
1.3 材质编辑器 33
1.4 蓝图编辑器 34
1.5 行为树编辑器 34
1.6 Persona 编辑器 35
1.7 级联粒子编辑器 35
1.8 UMG 界面编辑器 36
1.9 关卡动画编辑器 36
1.10 Sound Cue 编辑器 37
1.11 Paper2D 图片编辑器 38
1.12 Paper2D Flipbook 编辑器 38
1.13 Physics Asset 工具编辑器 39
1.14 静态网格体编辑器 39
1.15 媒体播放编辑器 40
第2章 地形编辑 42
2.1 地形室外地貌 44
2.1.1 大型地形尺寸 45
2.1.2 地形内存使用 45
2.1.3 GPU 内存中静态渲染数据存储为纹理 45
2.1.4 连续几何体MipMap LOD 46
2.1.5 高度图和权重数据流 46
2.1.6 高分辨率LOD独立灯光 46
2.2 地形碰撞 47
2.2.1 碰撞Mip等级 47
2.2.2 查看碰撞Mip等级 48
2.2.3 调整地形碰撞Mip等级 48
2.2.4 混合碰撞Mip等级选项 49
2.2.5 设置每个地形组件的碰撞Mip等级 50
2.3 创建地形 52
2.3.1 打开地形工具 53
2.3.2 使用地形工具新建地形 54
2.4 自定义高度图 57
2.4.1 图层 57
2.4.2 图层格式 57
2.4.3 图层导入 58
2.4.4 高度图 61
2.4.5 高度图格式 61
2.4.6 导入自定义高度图 62
2.5 编辑地形 64
2.5.1 地貌画刷 64
2.5.2 地貌Gizmo 70
2.5.3 管理模式 72
2.5.4 绘制模式 73
2.5.5 造型模式 75
2.5.6 地貌样条曲线 77
2.6 地形材质 79
2.6.1 图层权重与排序 79
2.6.2 特定地形材质节点 79
2.6.3 地形图层混合节点 80
2.7 植被 81
2.7.1 植被编辑模式 81
2.7.2 网格物体列表 82
2.7.3 植被工具 83
2.7.4 画刷设置 83
第3章 UE4游戏框架 86
3.1 游戏架构快速指南 89
3.1.1 代表世界中的玩家,好友及敌人 89
3.1.2 使用玩家输入或AI逻辑控制Pawn 89
3.1.3 向玩家显示信息 90
3.1.4 设置及跟踪游戏规则 90
3.1.5 架构中类的关系 91
3.2 摄像机操作 91
3.2.1 使用摄像机 91
3.2.2 使用静态摄像机 93
3.2.3 使用摄像机组件 98
3.2.4 使用弹簧臂组件 108
3.3 游戏模式 110
3.3.1 GameMode游戏模式 110
3.3.2 设置GameMode 112
3.4 输入控制 113
3.4.1 创建一个简单人物 113
3.4.2 创建游戏模式 117
3.4.3 新建输入(Action/Axis Mappings) 118
3.4.4 在蓝图中实施动作/坐标轴映射 120
3.5 关卡蓝图 124
第4章 材质贴图 127
4.1 材质概述 129
4.2 物理材质 129
4.3 材质表达式 133
4.3.1 参数 133
4.3.2 材质表达式 133
4.3.3 表达式类型 134
4.4 基本材质概念 134
4.4.1 材质表达式节点 134
4.4.2 纹理 136
4.4.3 属性与输入 136
4.5 实例化材质 137
4.5.1 实例和参数 137
4.5.2 常量实例和动态实例 139
4.5.3 技术应用 139
4.5.4 在编辑器中将材质实例化 140
4.5.5 参数组 142
4.5.6 创建参数化材质 143
4.5.7 标量参数 144
4.5.8 矢量参数 144
4.5.9 纹理参数 144
4.5.10 静态参数 144
4.6 材质函数 145
4.7 材质输入 145
4.7.1 输入和材质设置 145
4.7.2 自发光颜色 146
4.7.3 透明度 146
4.7.4 透明度蒙板 147
4.7.5 法线 147
4.7.6 世界位置偏移 148
4.7.7 世界位移以及多边形细分乘数 149
4.7.8 次表面颜色 149
4.7.9 环境遮挡 150
4.7.10 折射 151
4.7.11 透明图层 151
第5章 蓝图剖析 154
5.1 蓝图简介 156
5.1.1 蓝图的工作原理 156
5.1.2 常用的蓝图类型 156
5.1.3 蓝图其他功能 157
5.2 蓝图基础指南 159
5.2.1 创建蓝图 159
5.2.2 在关卡中放置蓝图 160
5.2.3 在关卡中放置蓝图 161
5.2.4 放置蓝图节点 163
5.2.5 连接蓝图节点 165
5.2.6 创建变量 166
5.2.7 定义属性 166
5.3 组件 170
5.3.1 组件窗口 170
5.3.2 添加组件 171
5.3.3 删除组件 172
5.3.4 组件资源 173
5.3.5 重命名组件实例变量 176
5.3.6 组件事件和函数 177
5.4 图表 179
5.4.1 事件图表 179
5.4.2 构造脚本 179
5.4.3 函数 179
5.4.4 宏 179
5.5 事件图表 180
第6章 蓝图组织结构 182
6.1 自定义事件 184
6.1.1 创建自定义事件 184
6.1.2 调用自定义事件 187
6.2 蓝图数组 188
6.2.1 创建数组 189
6.2.2 编辑数组 190
6.2.3 数组默认值 190
6.2.4 通过节点网络设置数组值 192
6.2.5 数组索引 192
6.3 数组节点 192
6.3.1 Add Item(添加项目) 192
6.3.2 Clear(清除) 193
6.3.3 Contains Item(包含项目) 193
6.3.4 Filter Array(过滤数组) 193
6.3.5 Find Item(过滤项目) 194
6.3.6 Get(获取) 194
6.3.7 Insert Item(插入项目) 194
6.3.8 Last Index(最后一个索引值) 195
6.3.9 Length(长度) 195
6.3.10 Remove Index(删除索引) 195
6.3.11 Remove Item(删除项目) 195
6.3.12 Resize(调整大小) 196
6.3.13 Set Array Elem(设置数组元素) 196
6.4 管理蓝图通信 197
6.4.1 引用目标蓝图的简单方法 197
6.4.2 指定蓝图实例 200
6.4.3 使用蓝图 201
6.4.4 引用目标蓝图的其他方法 201
6.4.5 类型转换为蓝图类型 201
6.4.6 指定一种蓝图类型作为函数参数 203
6.5 事件调度器 205
6.5.1 创建事件调度器 205
6.5.2 绑定及解除绑定事件 207
6.5.3 调用事件调度器 209
6.5.4 创建调度器事件 211
第7章 蓝图控制 215
7.1 流程控制 217
7.1.1 开关节点 217
7.1.2 编辑开关节点 217
7.1.3 标准流程控制节点 219
7.2 函数 228
7.2.1 访问修饰符 228
7.2.2 纯函数和非纯函数 229
7.2.3 创建函数 229
7.2.4 编辑函数 232
7.2.5 输入和输出参数 233
7.2.6 定义功能 235
7.2.7 调用函数 235
7.3 随机流 236
7.3.1 RandomStream(随机流)变量 236
7.3.2 随机流函数 237
7.3.3 初始种子 238
7.3.4 修改初始种子 238
7.4 时间轴 239
7.4.1 创建时间轴 239
7.4.2 编辑时间轴 242
7.4.3 添加轨迹 243
7.4.4 添加关键帧 244
7.5 数学表达式 244
7.5.1 变量 246
7.5.2 运算顺序 247
7.5.3 可用的蓝图函数 247
7.5.4 基本结构体类型 247
7.5.5 支持的操作符 248
7.5.6 不支持的操作符 248
7.6 注释 248
7.6.1 节点注释 248
7.6.2 注释框 249
第8章 动画系统 253
8.1 动画骨骼 255
8.1.1 什么是骨架 255
8.1.2 基本规则 256
8.1.3 重用骨架 257
8.2 动画合成物 258
8.2.1 创建一个合成物 258
8.2.2 编辑器合成物 260
8.2.3 使用合成物 262
8.3 动画蒙太奇 262
8.3.1 蒙太奇示例 262
8.3.2 蒙太奇属性 263
8.3.3 蒙太奇UI 265
8.4 动画蓝图 265
8.4.1 动画图表 266
8.4.2 创建动画蓝图 269
8.4.3 事件图表 271
8.4.4 动画蓝图用户界面 272
8.5 状态机 273
8.5.1 创建状态机 273
8.5.2 创建状态和通道 275
8.5.3 创建转换规则 276
8.5.4 编辑状态机 277
8.5.5 编辑状态 277
8.5.6 添加动画元素 278
8.5.7 自动创建状态 279
8.6 混合空间 280
8.6.1 混合空间工作原理 280
8.6.2 创建混合空间 282
8.6.3 编辑混合空间 285
8.6.4 使用混合空间 291
第9章 UI系统 297
9.1 创建并显示UI 299
9.2 控件类型引用 305
9.2.1 常用控件 306
9.2.2 输入控件 307
9.2.3 优化控件 307
9.2.4 面板控件 308
9.2.5 基元控件 309
9.2.6 用户创建 309
9.3 事件驱动UI更新 310
9.3.1 函数绑定(Function Binding) 310
9.3.2 属性绑定(Property Binding) 311
9.3.3 事件驱动 313
9.4 创建3D控件交互 315
9.5 控件蓝图 323
9.5.1 控件蓝图编辑器 325
9.6 设备缩放 325
9.7 动画 329
9.7.1 添加动画 329
9.7.2 添加动画关键帧 330
9.7.3 更改关键帧的值 331
9.7.4 调用动画 332
第1章 编辑器功能概述 1
1.1 编辑器简介 3
1.1.1 编辑器主窗口 3
1.2 关卡编辑器 4
1.2.1 主菜单 4
1.2.2 关卡模式 7
1.2.3 参数面板 9
1.2.4 编辑运行 12
1.2.5 场景大纲 14
1.2.6 编辑器视图 16
1.2.7 关卡编辑工具栏 23
1.2.8 内容管理 31
1.2.9 Actors 32
1.2.10 组件 32
1.3 材质编辑器 33
1.4 蓝图编辑器 34
1.5 行为树编辑器 34
1.6 Persona 编辑器 35
1.7 级联粒子编辑器 35
1.8 UMG 界面编辑器 36
1.9 关卡动画编辑器 36
1.10 Sound Cue 编辑器 37
1.11 Paper2D 图片编辑器 38
1.12 Paper2D Flipbook 编辑器 38
1.13 Physics Asset 工具编辑器 39
1.14 静态网格体编辑器 39
1.15 媒体播放编辑器 40
第2章 地形编辑 42
2.1 地形室外地貌 44
2.1.1 大型地形尺寸 45
2.1.2 地形内存使用 45
2.1.3 GPU 内存中静态渲染数据存储为纹理 45
2.1.4 连续几何体MipMap LOD 46
2.1.5 高度图和权重数据流 46
2.1.6 高分辨率LOD独立灯光 46
2.2 地形碰撞 47
2.2.1 碰撞Mip等级 47
2.2.2 查看碰撞Mip等级 48
2.2.3 调整地形碰撞Mip等级 48
2.2.4 混合碰撞Mip等级选项 49
2.2.5 设置每个地形组件的碰撞Mip等级 50
2.3 创建地形 52
2.3.1 打开地形工具 53
2.3.2 使用地形工具新建地形 54
2.4 自定义高度图 57
2.4.1 图层 57
2.4.2 图层格式 57
2.4.3 图层导入 58
2.4.4 高度图 61
2.4.5 高度图格式 61
2.4.6 导入自定义高度图 62
2.5 编辑地形 64
2.5.1 地貌画刷 64
2.5.2 地貌Gizmo 70
2.5.3 管理模式 72
2.5.4 绘制模式 73
2.5.5 造型模式 75
2.5.6 地貌样条曲线 77
2.6 地形材质 79
2.6.1 图层权重与排序 79
2.6.2 特定地形材质节点 79
2.6.3 地形图层混合节点 80
2.7 植被 81
2.7.1 植被编辑模式 81
2.7.2 网格物体列表 82
2.7.3 植被工具 83
2.7.4 画刷设置 83
第3章 UE4游戏框架 86
3.1 游戏架构快速指南 89
3.1.1 代表世界中的玩家,好友及敌人 89
3.1.2 使用玩家输入或AI逻辑控制Pawn 89
3.1.3 向玩家显示信息 90
3.1.4 设置及跟踪游戏规则 90
3.1.5 架构中类的关系 91
3.2 摄像机操作 91
3.2.1 使用摄像机 91
3.2.2 使用静态摄像机 93
3.2.3 使用摄像机组件 98
3.2.4 使用弹簧臂组件 108
3.3 游戏模式 110
3.3.1 GameMode游戏模式 110
3.3.2 设置GameMode 112
3.4 输入控制 113
3.4.1 创建一个简单人物 113
3.4.2 创建游戏模式 117
3.4.3 新建输入(Action/Axis Mappings) 118
3.4.4 在蓝图中实施动作/坐标轴映射 120
3.5 关卡蓝图 124
第4章 材质贴图 127
4.1 材质概述 129
4.2 物理材质 129
4.3 材质表达式 133
4.3.1 参数 133
4.3.2 材质表达式 133
4.3.3 表达式类型 134
4.4 基本材质概念 134
4.4.1 材质表达式节点 134
4.4.2 纹理 136
4.4.3 属性与输入 136
4.5 实例化材质 137
4.5.1 实例和参数 137
4.5.2 常量实例和动态实例 139
4.5.3 技术应用 139
4.5.4 在编辑器中将材质实例化 140
4.5.5 参数组 142
4.5.6 创建参数化材质 143
4.5.7 标量参数 144
4.5.8 矢量参数 144
4.5.9 纹理参数 144
4.5.10 静态参数 144
4.6 材质函数 145
4.7 材质输入 145
4.7.1 输入和材质设置 145
4.7.2 自发光颜色 146
4.7.3 透明度 146
4.7.4 透明度蒙板 147
4.7.5 法线 147
4.7.6 世界位置偏移 148
4.7.7 世界位移以及多边形细分乘数 149
4.7.8 次表面颜色 149
4.7.9 环境遮挡 150
4.7.10 折射 151
4.7.11 透明图层 151
第5章 蓝图剖析 154
5.1 蓝图简介 156
5.1.1 蓝图的工作原理 156
5.1.2 常用的蓝图类型 156
5.1.3 蓝图其他功能 157
5.2 蓝图基础指南 159
5.2.1 创建蓝图 159
5.2.2 在关卡中放置蓝图 160
5.2.3 在关卡中放置蓝图 161
5.2.4 放置蓝图节点 163
5.2.5 连接蓝图节点 165
5.2.6 创建变量 166
5.2.7 定义属性 166
5.3 组件 170
5.3.1 组件窗口 170
5.3.2 添加组件 171
5.3.3 删除组件 172
5.3.4 组件资源 173
5.3.5 重命名组件实例变量 176
5.3.6 组件事件和函数 177
5.4 图表 179
5.4.1 事件图表 179
5.4.2 构造脚本 179
5.4.3 函数 179
5.4.4 宏 179
5.5 事件图表 180
第6章 蓝图组织结构 182
6.1 自定义事件 184
6.1.1 创建自定义事件 184
6.1.2 调用自定义事件 187
6.2 蓝图数组 188
6.2.1 创建数组 189
6.2.2 编辑数组 190
6.2.3 数组默认值 190
6.2.4 通过节点网络设置数组值 192
6.2.5 数组索引 192
6.3 数组节点 192
6.3.1 Add Item(添加项目) 192
6.3.2 Clear(清除) 193
6.3.3 Contains Item(包含项目) 193
6.3.4 Filter Array(过滤数组) 193
6.3.5 Find Item(过滤项目) 194
6.3.6 Get(获取) 194
6.3.7 Insert Item(插入项目) 194
6.3.8 Last Index(最后一个索引值) 195
6.3.9 Length(长度) 195
6.3.10 Remove Index(删除索引) 195
6.3.11 Remove Item(删除项目) 195
6.3.12 Resize(调整大小) 196
6.3.13 Set Array Elem(设置数组元素) 196
6.4 管理蓝图通信 197
6.4.1 引用目标蓝图的简单方法 197
6.4.2 指定蓝图实例 200
6.4.3 使用蓝图 201
6.4.4 引用目标蓝图的其他方法 201
6.4.5 类型转换为蓝图类型 201
6.4.6 指定一种蓝图类型作为函数参数 203
6.5 事件调度器 205
6.5.1 创建事件调度器 205
6.5.2 绑定及解除绑定事件 207
6.5.3 调用事件调度器 209
6.5.4 创建调度器事件 211
第7章 蓝图控制 215
7.1 流程控制 217
7.1.1 开关节点 217
7.1.2 编辑开关节点 217
7.1.3 标准流程控制节点 219
7.2 函数 228
7.2.1 访问修饰符 228
7.2.2 纯函数和非纯函数 229
7.2.3 创建函数 229
7.2.4 编辑函数 232
7.2.5 输入和输出参数 233
7.2.6 定义功能 235
7.2.7 调用函数 235
7.3 随机流 236
7.3.1 RandomStream(随机流)变量 236
7.3.2 随机流函数 237
7.3.3 初始种子 238
7.3.4 修改初始种子 238
7.4 时间轴 239
7.4.1 创建时间轴 239
7.4.2 编辑时间轴 242
7.4.3 添加轨迹 243
7.4.4 添加关键帧 244
7.5 数学表达式 244
7.5.1 变量 246
7.5.2 运算顺序 247
7.5.3 可用的蓝图函数 247
7.5.4 基本结构体类型 247
7.5.5 支持的操作符 248
7.5.6 不支持的操作符 248
7.6 注释 248
7.6.1 节点注释 248
7.6.2 注释框 249
第8章 动画系统 253
8.1 动画骨骼 255
8.1.1 什么是骨架 255
8.1.2 基本规则 256
8.1.3 重用骨架 257
8.2 动画合成物 258
8.2.1 创建一个合成物 258
8.2.2 编辑器合成物 260
8.2.3 使用合成物 262
8.3 动画蒙太奇 262
8.3.1 蒙太奇示例 262
8.3.2 蒙太奇属性 263
8.3.3 蒙太奇UI 265
8.4 动画蓝图 265
8.4.1 动画图表 266
8.4.2 创建动画蓝图 269
8.4.3 事件图表 271
8.4.4 动画蓝图用户界面 272
8.5 状态机 273
8.5.1 创建状态机 273
8.5.2 创建状态和通道 275
8.5.3 创建转换规则 276
8.5.4 编辑状态机 277
8.5.5 编辑状态 277
8.5.6 添加动画元素 278
8.5.7 自动创建状态 279
8.6 混合空间 280
8.6.1 混合空间工作原理 280
8.6.2 创建混合空间 282
8.6.3 编辑混合空间 285
8.6.4 使用混合空间 291
第9章 UI系统 297
9.1 创建并显示UI 299
9.2 控件类型引用 305
9.2.1 常用控件 306
9.2.2 输入控件 307
9.2.3 优化控件 307
9.2.4 面板控件 308
9.2.5 基元控件 309
9.2.6 用户创建 309
9.3 事件驱动UI更新 310
9.3.1 函数绑定(Function Binding) 310
9.3.2 属性绑定(Property Binding) 311
9.3.3 事件驱动 313
9.4 创建3D控件交互 315
9.5 控件蓝图 323
9.5.1 控件蓝图编辑器 325
9.6 设备缩放 325
9.7 动画 329
9.7.1 添加动画 329
9.7.2 添加动画关键帧 330
9.7.3 更改关键帧的值 331
9.7.4 调用动画 332