# 基础概念

虚幻引擎5.0文档 (opens new window)

  • Epic保管库分为安装到引擎和创建项目两类默认安装到C盘,可以在设置中修改编辑保管库缓存位置
  • 打开虚幻商城搜索插件,插件安装后需要在项目中开启才可以使用
  • 移动单位为厘米
  • UE4还没达到时时渲染
  • 导入UE4的3d模型面数不要太多,一般减少20%
  • UV贴图需要展开,需要2个贴图通道
  • 轴映射针对持续性的动作

# 界面介绍

# 视口操作

  • 按住鼠标右键的同时,可以操作W(靠近)、S(远离)、A(左移)、D(右移)、Q(上移)、E(下移) 操作视角方向

操作视角方向

  • 只按Q(选择物体)、W(坐标位置)、E(旋转方向)、R(物体比例) 可以切换调整物体的不同状态

切换调整物体的不同状态

# 镜头移动速度

通过调整摄像机的速度来控制镜头移动速度,数值越大,速度越快

切换调整物体的不同状态

# 内容侧滑菜单

# 点击 "添加" 可以添加:材质、关卡、蓝图类、Niagara系统及其他组件
# 点击 "内容过滤器"(倒三角)可以显示:材质、关卡、蓝图类、Niagara系统及其他组件

# 游戏模式

每一个世界(World)有多个 Level(关卡),而每个关卡又可以设定自己的 GameMode(游戏模式),从而控制游戏的玩法。

GameMode就是GamePlay框架的具体应用,只要更换游戏模式,下面的几个类都会随之更换:

  • 如果第一人称游戏,那这个模式的Pawn类有骨骼、网格体、摄像机
  • 比如我择的射击游戏模式,那这个模式的Pawn类有射击的功能
  • 比如我选择了一个飞行游戏模式,那这个模式的Pawn类有飞行的功能
默认pawn类 # 棋子,可被PlayController操控的功能
HUD类  # 所有显示UI的管理器,UI的生命周期和创建都是在HUD中进行的
玩家控制器类  # 用于控制Pawn或玩家
游戏状态类  # 记录整体游戏的运行状态,跟玩家无关,如得分、排行榜、拍卖行等状态值
玩家状态类  # 记录玩家个人在当前游戏的运行状态
旁观者类  # 比如王者荣耀观战

# 天空的调整

# 天空在 "内容" 后面的 "设置" 里勾选 "显示引擎" 内容,然后搜索 "sky"
# 在天空的颜色调整的很黑时,却依然显示蓝色,此时需要在视口左上角 "光源" 中关闭 "游戏设置"
# 增加控件 天空光照 "SkyLight" ,调整天空颜色后,天空光照颜色需要在属性中点击 "重捕获"

# 蓝图使用

# 蓝图快捷键

F7  # 编译蓝图
C +  选中蓝图节点  # 快速进行注释
F9 +  选中蓝图节点  # 加或取消调试断点
Alt + 鼠标左键点击流程线  # 取消连接线
Alt + S  # 以仿真模式运行游戏
Alt + 变量  # 设置setter
Ctl + 变量  # 设置getter

注意

  • 节点中的 target,可以直接从场景中拖入到蓝图
  • 改变物体位置时,需要先将其设置为"可移动"

# 蓝图变量

  • 局部变量,每次事件后值不会发生改变

# 蓝图事件

Event BeginPlay  # 游戏开始事件,默认
Event Tick  # 循环打印事件,默认

Custom Event  # 自定义事件

# 常用节点

Format Text  # 构建格式化字符串,hello {name1} and {name2}
ForLoop  # 按起止循环
WhileLoop  # 条件循环
Condition  # 条件判断,输入 if 选择 Branch
Switch  # 条件选择,选择 "工具 -> 流程控制"
FlipFlop  # 在A和B输出之间交替执行
Sequence  # 先后执行多个任务(流程控制中)
Delay  # 延迟多久执行
Lerp  # 在A与B之间进行线性插值,Alpha=0时,A为100%,Alpha=1时,B为100%

# 射线检测

射线检测相关函数命名规则如下:

(前缀:Multi) + 射线形状 + [后缀:ForObjects|ByChannel|ByProfile]

# Multi(前缀):通常射线在碰到第一个对象就会失效,Multi 前缀可以使射线穿透多个对象
# 射线形状:分为线形、球形、立方体、脚囊体等多个类型
# 筛选方式(后缀):
    # ForObjects:按照一个类类型来进行检测,包括制定的类型的所有子类
    # ByChannel:将物体和射线都指定到某一个通道来进行过滤,有 Ignore/Overlap/Block 几种选择
    # ByProfile:使一个射线的响应方式完全照搬一套预设