Unreal Engine 4可视化设计:交互可视化、动画与渲染开发绝艺(全彩)
作者:(美)汤姆-香农
出版社:电子工业出版社
出版时间:2020-04-01
ISBN:9787121386770
定价:¥129.00
第1 部分 虚幻引擎4 总览
第1 章 虚幻引擎4 入门 3
1.1 虚幻引擎4 是什么 4
1.2 虚幻引擎简史 4
1.3 虚幻引擎4 简介 5
1.4 虚幻引擎4 可视化的亮点 6
1.5 使用虚幻引擎4 进行交互式可视化开发 7
1.5.1 UE4 给可视化带来了什么 7
1.5.2 UE4 开发的注意事项 10
1.5.3 识别适合的UE4 项目 11
1.6 虚幻引擎4 的开发需求 12
1.7 虚幻引擎4 中的团队合作 13
1.7.1 源代码管理概述 13
1.7.2 UE4 内置的版本控制支持 13
1.8 虚幻引擎4 开发的成本 14
1.8.1 硬件 14
1.8.2 开发时间 14
1.8.3 测试和QA 15
1.9 节省虚幻引擎4 的成本 15
1.10 资源和培训 15
1.10.1 社区支持 16
1.10.2 商城 16
1.10.3 社区活动和会议 16
1.11 总结 17
第2 章 使用虚幻引擎4 19
2.1 虚幻引擎4 的组件 20
2.1.1 Epic.Games 启动器 20
2.1.2 UE4 引擎 21
2.1.3 UE4 编辑器 22
2.1.4 UE4 项目 23
2.1.5 源艺术 24
2.2 项目文件夹结构 25
2.2.1 Config 25
2.2.2 Saved 26
2.2.3 Plugins(可选项) 26
2.2.4 Content 26
2.2.5 Intermediate 26
2.3 认识.uasset 文件 27
2.4 虚幻引擎4 内容通道 27
2.4.1 建立一个新项目 27
2.4.2 构建内容 28
2.4.3 导出内容 28
2.4.4 导入内容到UE4 28
2.4.5 使用内容填充关卡 28
2.4.6 添加互动性(编程!) 28
2.4.7 测试和改进 29
2.4.8 打包 29
2.4.9 发布 29
2.4.10 提供支持 30
2.5 总结 30
第3 章 内容通道 .31
3.1 内容通道概述 32
3.2 3D 场景设置 33
3.2.1 单位 34
3.2.2 统计信息 34
3.2.3 背面剔除与法线 34
3.3 为虚幻引擎4 准备几何体 35
3.3.1 建筑和道具网格体 35
3.3.2 命名 35
3.3.3 UV 映射 37
3.3.4 细节层次(LOD) 40
3.3.5 碰撞 41
3.3.6 枢轴点 42
3.4 FBX 网格体通道 42
3.4.1 导出设置 43
3.4.2 导出多个网格体 44
3.4.3 重新导入 44
3.4.4 FBX 文件的存放位置 45
3.5 纹理和材质的工作流程 45
3.5.1 纹理 45
3.5.2 多个材质 47
3.6 导入内容库 47
3.6.1 开始导入 47
3.6.2 网格体导入选项 47
3.6.3 纹理选项 49
3.7 摄像机工作流程 49
3.8 总结 50
第4 章 光照和渲染 51
4.1 理解虚幻引擎的基于物理的渲染(PBR) 52
4.1.1 底色 52
4.1.2 粗糙度(Roughness) 53
4.1.3 金属度 53
4.1.4 充分利用PBR 54
4.2 虚幻引擎4 中的光照 54
4.3 理解光源的移动性 55
4.3.1 可移动光源 55
4.3.2 固定光源 56
4.3.3 静态光源 58
4.4 实时反射 59
4.4.1 反射探头 59
4.4.2 后期处理反射 59
4.5 后期处理 60
4.5.1 抗锯齿 61
4.5.2 泛光、辉光和镜头眩光 61
4.5.3 眼部适应(自动曝光) 62
4.5.4 景深 62
4.5.5 电影效果 63
4.5.6 运动模糊 64
4.5.7 屏幕空间环境光遮蔽 64
4.5.8 屏幕空间反射 64
4.5.9 屏幕百分比 65
4.5.10 后期处理材质 65
4.6 总结 66
第5 章 材质 67
5.1 材质概述 68
5.1.1 创建材质 68
5.1.2 应用材质 69
5.1.3 更改材质 69
5.2 虚幻引擎4 材质编辑器 69
5.2.1 打开材质编辑器 69
5.2.2 编辑器UI 69
5.2.3 放置节点 70
5.2.4 使用预览视口 70
5.2.5 编译着色器 71
5.2.6 保存 71
5.3 虚幻引擎的材质如何工作 71
5.3.1 像素和顶点着色器 71
5.3.2 材质是数学 72
5.3.3 材质函数 74
5.4 表面类型 75
5.4.1 不透明的 75
5.4.2 蒙版的 75
5.4.3 半透明的 75
5.5 材质实例 76
5.5.1 材质参数 77
5.5.2 继承 77
5.5.3 覆写参数 77
5.5.4 组织 77
5.5.5 主材质 77
5.6 一个简单的材质 78
5.6.1 放置参数节点 78
5.6.2 制作材质实例 79
5.6.3 添加粗糙度贴图 80
5.6.4 添加法线贴图 82
5.6.5 理解底色贴图 83
5.7 总结 84
第6 章 蓝图 85
6.1 蓝图概述 86
6.2 对象、类和Actor 86
6.2.1 对象 86
6.2.2 类 87
6.2.3 Actor 87
6.3 玩家 87
6.4 玩家控制器 87
6.4.1 输入处理 88
6.4.2 玩家数据 88
6.4.3 旋转 88
6.4.4 鼠标接口 88
6.4.5 其他控制器 89
6.5 Pawn 89
6.6 世界 89
6.7 关卡 90
6.8 组件 90
6.9 变量和它们的类型 90
6.10 Tick 91
6.11 类的继承 91
6.12 生成和销毁 92
6.12.1 构造脚本 92
6.12.2 Begin.Play 事件 93
6.13 蓝图通信 93
6.13.1 直接蓝图通信 93
6.13.2 事件调度器 93
6.13.3 蓝图接口 93
6.13.4 蓝图转换 94
6.14 编译脚本 94
6.15 总结 94
第2 部分 你的第一个虚幻引擎4 项目
第7 章 建立项目 97
7.1 项目范围 98
7.2 从启动器创建一个新项目 98
7.3 总结 100
第8 章 填充世界 101
8.1 制作和保存一个新的空关卡 102
8.2 放置和修改资源 102
8.2.1 移动、缩放和旋转 103
8.2.2 使用细节面板 103
8.2.3 对齐 104
8.2.4 复制 104
8.2.5 从类浏览器中添加Actor 105
8.3 “要有光” 105
8.3.1 太阳 105
8.3.2 大气雾 105
8.3.3 将太阳分配到大气层 106
8.3.4 天空光源 107
8.4 在场景中自由移动 108
8.4.1 游戏风格 108
8.4.2 以对象为中心 108
8.5 构造建筑 108
8.6 为你的建筑添加细节 109
8.6.1 放置道具 109
8.6.2 放置灯源 110
8.6.3 添加IES 描述文件 111
8.7 总结 112
第9 章 使用蓝图实现交互 113
9.1 搭建项目 114
9.2 按下Play 按钮 114
9.2.1 运行模式 114
9.2.2 默认GameMode 115
9.3 创建Pawn 115
9.3.1 设置玩家的视点高度 117
9.3.2 设置移动速度 118
9.4 输入映射 119
9.4.1 动作和轴映射 120
9.4.2 建立映射 120
9.4.3 输入设备灵活性 120
9.5 创建玩家控制器类 120
9.6 使用蓝图添加输入 121
9.7 旋转视图(观察) 122
9.8 玩家移动 123
9.8.1 引用Pawn 123
9.8.2 有效性 123
9.8.3 添加移动输入 124
9.9 GameMode 127
9.9.1 创建GameMode 127
9.9.2 指定项目的GameMode 128
9.10 放置玩家起始点Actor 129
9.11 总结 130
第10 章 打包和发布 131
10.1 打包构建与编辑器构建 132
10.2 项目打包 132
10.2.1 内容烘焙 132
10.2.2 部署 132
10.3 打包选项 133
10.3.1 平台 133
10.3.2 构建配置 133
10.4 如何打包 133
10.5 启动你的应用程序 134
10.6 打包中的错误 135
10.7 发布项目 136
10.8 使用安装程序 136
10.9 总结 136
第3 部分 建筑可视化项目
第11 章 项目建立 139
11.1 项目范围和需求 140
11.2 建立项目 141
11.2.1 创建项目 141
11.2.2 从其他项目迁移内容 141
11.2.3 不要忘了“输入” 143
11.2.4 复制、重命名和移动资源 144
11.3 应用项目设置 144
11.4 总结 146
第12 章 数据通道 147
12.1 组织场景 148
12.2 材质 149
12.3 建筑和固定物 149
12.3.1 确保干净的几何体 149
12.3.2 使用良好的UV 坐标 150
12.4 导出场景 151
12.4.1 使用多个FBX 文件 151
12.4.2 使用单个FBX 文件 152
12.5 导入场景 152
12.5.1 导入内容浏览器 153
12.5.2 导入关卡 155
12.6 道具网格体 156
12.6.1 设置枢轴点 157
12.6.2 使用用心制作的几何体 158
12.6.3 导出 158
12.6.4 导入 159
12.7 总结 160
第13 章 填充场景 161
13.1 可视化的场景构建 162
13.2 建立关卡 162
13.2.1 创建一个新的关卡 162
13.2.2 添加基础光照 163
13.3 放置建筑静态网格体 164
13.3.1 拖放网格体 164
13.3.2 将位置设置为0 164
13.4 放置道具网格体 164
13.4.1 表面对齐 165
13.4.2 克隆和复制 165
13.4.3 Shift.+ 拖动 165
13.5 场景组织 165
13.5.1 世界大纲 166
13.5.2 图层 167
13.5.3 分组 167
13.5.4 Actor 蓝图 168
13.6 总结 169
第14 章 建筑光照 171
14.1 充分利用虚幻引擎4 光照 172
14.2 使用Lightmass 的静态光照 173
14.3 调节太阳光和天空光源 173
14.3.1 太阳光 173
14.3.2 天空光源 176
14.4 构建光照 177
14.5 建筑可视化的Lightmass 设置 178
14.5.1 Static.Lighting.Level.Scale 180
14.5.2 Num.Indirect.Lighting.Bounces 180
14.5.3 Indirect.Lighting.Quality 180
14.5.4 Indirect.Lighting.Smoothness 180
14.5.5 Compress.Lightmaps 180
14.6 光照贴图UV 密度调整 181
14.7 放置室内光源 184
14.7.1 聚光灯 184
14.7.2 Mobility 184
14.7.3 Intensity 184
14.7.4 Temperature 185
14.7.5 Attenuation 185
14.7.6 IES.Files 185
14.7.7 Auto.Exposure 185
14.8 放置光源门户 185
14.9 使用反射探头 185
14.9.1 尺寸 186
14.9.2 性能 186
14.10 后期处理体积 186
14.10.1 体积Actor 187
14.10.2 放置后期处理体积 187
14.10.3 后期处理体积设置 187
14.11 总结 192
第15 章 建筑材质 193
15.1 什么是主材质 194
15.1.1 材质网络概览 194
15.1.2 参数节点 195
15.2 创建主材质 196
15.2.1 底色 196
15.2.2 金属度 198
15.2.3 粗糙度 199
15.2.4 法线 200
15.2.5 环境光遮蔽 200
15.2.6 纹理缩放和变换 201
15.3 创建材质实例 202
15.3.1 涂漆墙壁 203
15.3.2 地板 204
15.4 高级材质 206
15.4.1 视差遮蔽映射 206
15.4.2 玻璃 209
15.5 总结 212
第16 章 使用Sequencer 创建过场动画 213
16.1 Sequencer 入门 214
16.1.1 主序列 214
16.1.2 动态摄像机 216
16.2 摄像机动画 217
16.2.1 设置关键帧 217
16.2.2 驾驶摄像机 217
16.2.3 轨迹与摄像机命名 218
16.2.4 过渡 218
16.3 编辑镜头 218
16.4 保存 219
16.5 协作 219
16.6 渲染到视频 219
16.6.1 渲染影片设置 220
16.6.2 渲染过程 220
16.7 总结 221
第17 章 为关卡的交互性做准备 223
17.1 设置关卡 224
17.2 添加玩家起始点Actor 224
17.3 添加碰撞 224
17.3.1 复杂与简单碰撞 225
17.3.2 墙壁和地板 226
17.3.3 设置道具碰撞 228
17.4 启用鼠标光标 229
17.5 创建后期处理轮廓 230
17.6 总结 232
第18 章 中级蓝图――UMG 交互 233
18.1 切换数据集 234
18.2 制作变体关卡 234
18.2.1 通过Save.As 制作一个副本 235
18.2.2 导入新的建筑 235
18.2.3 替换建筑网格体 235
18.2.4 设置光照贴图密度 236
18.2.5 应用材质 236
18.2.6 启用碰撞 236
18.2.7 装饰(可选) 236
18.2.8 构建光照 236
18.3 关卡流送 237
18.3.1 制作一个新关卡 237
18.3.2 访问关卡界面 237
18.3.3 添加流送关卡 238
18.3.4 使用蓝图与始终加载关卡 239
18.4 定义一个玩家起始点Actor 240
18.5 设置关卡蓝图 240
18.5.1 打开关卡蓝图 240
18.5.2 使用事件 242
18.5.3 测试时间 243
18.6 编写切换程序 243
18.7 测试时间 245
18.7.1 创建键盘快捷方式 246
18.7.2 编译和保存 247
18.7.3 单击Play 按钮 247
18.8 虚幻运动图形 247
18.8.1 使用控件 247
18.8.2 水平框 249
18.8.3 按钮 251
18.8.4 标签 252
18.9 回到关卡蓝图 253
18.9.1 创建控件 253
18.9.2 将控件添加到视口中 254
18.9.3 事件绑定 254
18.9.4 编译和保存 255
18.9.5 运行游戏 256
18.10 总结 256
第19 章 高级蓝图――材质切换器 257
19.1 设定目标 258
19.2 构建Actor 蓝图 259
19.3 创建变量 259
19.3.1 Meshes.To.Modify 数组 260
19.3.2 Materials 数组 261
19.3.3 Start.Material.Index 变量 262
19.3.4 Current.Material.Index 变量 262
19.3.5 IsClicked 变量 262
19.4 添加组件 262
19.4.1 Billboard 组件 263
19.4.2 TextRender 组件 264
19.5 创建Change Material 函数 264
19.5.1 New.Index 输入 265
19.5.2 Is.Valid.Index 265
19.5.3 For.Each.Loop 265
19.6 理解构造脚本 265
19.6.1 设置文本标签 266
19.6.2 绘制连线 267
19.6.3 更改材质到初始索引 268
19.7 理解事件图 269
19.7.1 Begin.Play 269
19.7.2 事件绑定 270
19.7.3 Mouse.Over 和Mouse.Out 270
19.7.4 点击行为 271
19.7.5 检测错误点击 271
19.8 填充关卡 272
19.8.1 添加网格体 272
19.8.2 添加材质 274
19.8.3 设置默认值 274
19.8.4 复制和粘贴 274
19.9 运行应用程序 274
19.10 总结 276
第20 章 结语 277
20.1 不断改进的虚幻引擎4 278
20.2 可视化的未来 278
20.3 后续 278
20.4 虚拟现实 279
20.5 电影制作 279
20.6 内容创作 279
20.7 感谢 280
术语表 281