前言 3
Chapter 1 试着使用蓝图! 12
1-1准备Unreal Engine 12
什么是Unreal Engine编程? 12
登录Unreal Engine账户 13
安装UnrealEngine 15
Mac版的安装 16
关于启动器 16
安装引擎 17
启动Unreal Engine 18
打开Unreal Engine关卡编辑器 19
关卡编辑器的基本操作 21
1-2试着使用蓝图 23
打开蓝图编辑器 23
打开关卡蓝图编辑器 24
运行程序! 25
图表编辑器的基本操作 27
连接节点 29
让程序运行起来! 31
最后保存! 33
本章重点知识 34
Chapter 2 掌握关于值的知识! 36
2-1掌握节点的基本知识 36
节点的种类 36
关于事件节点(event node) 37
关于命令节点 38
Begin Play事件节点 38
关于Print String 39
关于创建节点的菜单 40
关于情境关联 41
关于节点的注释 42
创建注释组 43
连接文本值 45
关于“Make Literal String”节点 46
用线连接节点 46
运行! 47
试着显示数字吧! 48
2-2变量与计算 51
值的类型! 51
一起来做加法! 52
关于加法运算节点 53
用加法运算节点计算 54
关于四则运算的节点 56
如何进行复杂的计算? 56
运用数学表达式节点 59
实际应用数学表达式节点 61
了解数学表达式的内容 62
使用“变量”! 63
设置变量 65
运用变量! 66
进行变量的设置 67
使用整型变量计算! 70
查看数学表达式的内容 73
2-3使用数组 74
什么是数组? 74
准备数组 74
设置数组的初始值 75
给数组设置值 76
关于“Set Array Elem”节点 77
从数组中取值 78
添加新项目 80
关于“ADD”节点 81
删除项目 83
关于“Remove Index”节点 84
在编程的过程中,创建数组! 85
关于“创建数组”节点 86
本章重点知识 89
Chapter 3 掌握流程控制! 92
3-1分支与开关 92
什么是流程控制? 92
关于“分支(Branch)” 93
关于“分支”节点 94
试着使用分支 95
值的比较! 95
关于“Equal”节点 96
确认值是否为偶数! 97
确认程序运行时的图表 99
可完成很多转移的“开关” 100
“开启字符串(Switch On String)”节点 100
创建转移 101
关于Default 104
3-2循环 107
通过“ForLoop”进行循环 107
关于“ForLoop”节点 108
连接文本 108
数组与ForEachLoop 111
使用ForEachLoop 112
创建以ForEachLoop进行的循环处理 114
准备Print String的内容 116
条件循环“WhileLoop” 118
关于“WhileLoop” 119
创建判定质数的计算程序 120
准备变量 120
为WhileLoop创建所需的节点 121
创建变量counter的加法处理 122
创建处理以查验值是否除尽 123
根据计算结果进行转移 124
检查counter是否等于num 125
完成整体程序 127
3-3将程序结构化 129
如何使程序一目了然? 129
合并节点 129
宏与函数 133
创建宏 133
创建输入输出项 134
为宏图表创建处理 135
创建函数! 138
为函数创建输入输出项 139
使用局部变量 140
创建计算处理 141
使用函数! 144
3-4运用事件 146
什么是自定义事件 146
关于带Break的Loop 150
关于触发器(FlipFlop) 155
关于序列 158
本章重点知识 162
Chapter 4 掌握Actor的基本操作! 166
4-1熟练使用Transformation 166
准备Actor 166
准备材质 168
关于控制Actor的节点 173
关于Tick事件 174
旋转Actor的“AddActorLocalRotation” 176
旋转角度和滚转、俯仰、偏航 178
移动Actor 179
同时执行移动和旋转 181
4-2熟练运用Transform! 183
同时执行移动、旋转的节点 183
关于“AddActorLocalTransform”节点 184
什么是Transform? 184
局部坐标与世界坐标 186
关于世界坐标使用的节点 187
使用“AddActorWorldTransform” 188
关于移动与Vector(向量) 190
用变量来移动! 193
用“分支”进行处理 195
检查程序 199
用世界坐标设置Actor的位置 200
4-3使用键盘移动! 203
关于按键输入事件 203
关于按键事件节点 204
建立移动Actor的处理 205
如何连续移动? 208
用“Is Input Key Down”来检查按键状态 213
使用控制器节点 215
设置Is Input Key Down的Key 216
4-4使用鼠标输入 222
鼠标输入与游戏模式 222
创建游戏模式 223
打开蓝图编辑器 226
使用鼠标按键事件 226
如何按住鼠标按键移动? 228
使用鼠标移动的动作 231
从Tick事件中使用鼠标X/Y 234
用“AddActorWorldOffset”创建移动处理 236
添加“序列” 236
组织连接程序 237
用Delta Seconds调整速度 239
本章重点知识 242
Chapter 5 材质的编程! 244
5-1材质也是蓝图国! 244
材质是“二维绘图程序” 244
创建材质 245
关于材质编辑器 246
关于“最终材质输入”节点 248
通过“基础颜色”设置颜色 249
为Actor设置材质 251
从商城获取贴图 252
显示贴图 255
关于金属 257
高光即“反射” 258
粗糙度即表面的“粗糙” 261
自发光颜色即为发光体 263
不透明度与Blend Mode 264
5-2材质的编程 267
将材质参数化 267
创建“VectorParameter” 268
计算贴图与颜色 269
通过“Add”将节点进行加法运算 270
删除节点,用“Subtract”进行减法运算 272
删除节点,用“Multiply”进行乘法运算 273
将高光与粗糙度参数化 274
关于“ScalarParameter”节点 275
创建材质实例 276
关于材质实例编辑器 277
设置参数组 278
5-3使用参数进行的编程 280
关于材质参数集 280
材质参数集编辑器 281
使用材质参数集 283
Multiply显示发生错误! 285
在关卡蓝图中操作材质 286
准备其他节点 288
创建材质函数 289
创建返回实数0~1的函数 290
为my_material添加材质函数 292
从关卡蓝图中操作 293
本章重点知识 296
Chapter 6 编程Actor的“移动”! 298
6-1使用物理引擎进行移动 298
使用物理引擎 298
准备球体Actor 298
准备材质 300
调用静态网格的设置 304
添加碰撞 305
将物理引擎设置为可用 305
在蓝图中移动Actor 306
检查移动球体的处理 309
6-2关于Actor的碰撞处理 311
关于“碰撞”的碰撞 311
检查碰撞对象 313
使用标签 314
为Box StaticMesh_1添加碰撞 315
创建判别标签的程序 316
物理引擎设置为OFF时也发生碰撞事件? 317
重叠事件 318
预备重叠时的处理 320
关于触发器Trigger 321
使用触发器 322
使用触发器事件 324
6-3在过场动画中使用程序 326
通过过场动画实现移动! 326
准备动画 327
编辑曲线 329
在蓝图中操作Matinee 334
关于Play节点 336
Play与Matinee的位置 336
循环播放、停止与暂停 338
使用“Stop”节点 340
关于“Pause”节点 341
Matinee的结束处理与Matinee控制器 343
如何“消除”Actor? 344
6-4 Matinee与蓝图Actor 346
Matinee与蓝图 346
创建蓝图Actor 347
编辑蓝图Actor 348
操作变量 350
创建Tick事件处理 350
放置BPActor 353
添加Matinee 353
在曲线中设置变量F_VAL的值 355
本章重点知识 358
Chapter 7 创建正式的应用程序! 360
7-1平视显示器(HUD) 360
什么是平视显示器? 360
创建控件蓝图 361
放置UI部件 364
显示HUD 366
为GUI设置值 368
添加Text Box 371
添加Button 372
单击Button时的事件 374
为TextBox添加变更时的处理 375
从关卡蓝图中使用HUD 377
开关HUD显示 378
控制光标的显示 380
7-2 Canon保龄球游戏! 382
射击+保龄球=? 382
创建关卡 383
准备相机 384
创建球体 385
创建柱体的静态网格物体 388
创建HUD 391
创建能量槽 392
创建方向条 394
准备Text记录发球数 396
添加显示信息的Text 399
7-3创建蓝图 403
打开关卡蓝图 403
创建函数 408
创建Set HUD函数 408
创建“Create Ball”函数 410
创建“Create Boxes”函数 414
创建“Mouse ButtonDown”函数 418
创建“Mouse Button Up”函数 422
创建“Is Ball Stopped?”函数 426
创建“CheckBoxes”函数 429
创建“Mouse MoveH”函数 433
创建“Mouse Move V”函数 434
创建“End Game”函数 435
创建“Change Camera Eye”函数 436
创建事件“Begin Play” 437
创建事件“Tick” 439
修改Mouse Button Up 440
终于完成了! 443
本章重点知识 443
后记 444