UE蓝图基础
- 1 事件Event
- 2 流程控制的节点
- 3 变量
- 4 自定义函数
- 5 宏
- 6 数字节点
- 7 TimeLine时间轴
- 8 关卡
1 事件Event
1.1 Event BeginPlay
游戏开始时调用
1.2 Event Tick
游戏运行时每帧调用
帧:一秒之内会有很多帧 ,一秒大概输出60帧 ,EventTrick:每帧执行。
1.3 Event ActorBeginOverlap && ActorEndOverlap
两个Actor的碰撞开始重叠时执行,发生重叠时,需要碰撞体满足图中条件。都需要有碰撞体。
两个Actor的碰撞开始重叠时执行
两个Actor的碰撞结束重叠时执行
1.4 键盘和鼠标触发事件
键盘
鼠标
1.5 自定义事件和调用
1.5.1 鼠标右击 add custom event 创建
调用自定义事件,右击鼠标搜索自定义事件的名称
自己为自定义事件添加参数
1.5.2 project setting创建
Action Mapping 是将外设输入和动作事件对应起来,当发生外设的输入事件时,动作事件就会被触发。
Axis Mapping 则会每帧都监听外设状态的变化量并调用绑定的函数,绑定的函数每帧都会执行。
1.6 注意Consume属性
事件具有Consume属性,勾选上作用于全部创建出的Actor,取消勾选只作用于最后一个创建的Actor。
2 流程控制的节点
2.1 判断与选择
2.1.1 switch开关节点
开关节点, 根据Int类型的值
开关节点,根据枚举类型的值
2.1.2 If/Branch分支节点
分支节点,判断输入的真假,进行输出
案例
2.2 循环
2.2.1 DoN节点
案例,拿Text Render 举例子
2.2.2 Do Once节点
某种条件内,只执行一次
2.2.3 Do Once MultiInput
执行多个输入中的某一个输入,可重置
2.2.4 FlipFlop节点
A和B之间切换
2.2.5 For Loop(for循环)
2.2.6 For Loop With Break
观察Event_Break在前面,和最后调用Event_Break
直接连线 也是可以的 参考 3.12.4
2.2.7 Gate
按键3按一次,Toggle执行。 此时按下按键2 ,enter会执行。
如果再一次按3 按一次,Toggle执行。此时按下按键2 ,enter不会执行。
Open 打开执行enter操作,Close关闭执行enter操作。
Toggle是相当于Open和Close循环
2.2.7 MultiGate
isRandom随机输出
Loop 循环输出
start index 从哪一个输出引脚开始输出
ReSet重置
2.2.8 Sequence
序列按照顺序执行一系列的事
3 变量
3.1 基本操作(变量的介绍和变量暴露)
定义变量的地方
变量属性的设置
暴露变量,点击变量右面那个眼睛。或者点击属性中Instance Editable。
3.2 Boolean类型
3.3 Int 类型
暴露变量
利用for循环
3.4 float类型
将浮点类型转换为整型,并进行四舍五入。
3.5 name/string/text
3.6 vector
3.7 Rotation
获取Actor的Rotator,并作为string类型打印
3.8 Transformation(Location+Rotation+Scale)
3.8.1 Break操作
Break transform : 得到transform里面的具体值 location rotation scale
Break vecter :得到 vector里面的具体值 x y z
3.8.2 Get信息
3.8.3 设置actor location偏移的量的节点
3.8.4 增加旋转的节点
3.8.5 make操作
设置transform
里面的变量可以自己添加一个transform变量 也可以 make出来
3.5.6 不同位移
3.5.7 得到Actor单位向量的值
得到自身的xyz方向的向量,然后在世界坐标系的坐标vector(vector是单位向量)
3.9 enum 枚举类型
自己定义的枚举类型
创建完毕
枚举类型的内部
接着回刚刚蓝图里面,就能够找到刚刚自己创建的枚举类型
可以在主视图中选择值进行设置修改,前提把枚举值暴露出来。
和switch 一起用的比较多
3.10 Structure 结构体
自己创建结构体
创建完毕
结构体内部
设置为自己编写的类型
Break 打开 break student
3.11 数组
3.11.1 array 数组介绍
3.11.2 遍历数组
3.11.3 获得数组长度
3.11.4 增加Item
Add (可以添加重复的)/Addunique(不可添加重复的)
3.11.5 删除Item
Clear:清空所有的值
Removeindex :指定索引删除
Removeitem : 指定值删除
3.11.6 查找Item
3.11.7 得到数组其中的某个值和修改数组中的某个值
Boolean类型做测试 size to fit 如果给的index超出了size 勾选上默认自动创建
3.11.8 数组添加
Append: 添加数组
Insert 添加值 给出index 和value 可以反复插入
3.11.9 判断是否存在该索引
3.11.10 输出最后一个元素的索引
3.11.11 修改数组的大小
修改数组的大小,如果扩大的话,用默认值进行填充,如果缩小的话,只保留大小内的值。
3.11.12 随机打乱数组中所有元素的顺序
3.11.13 交换2个Item的值
3.12 结构体数组
3.12.1 创建结构体数组
为之前 3.10 创建的学生结构体多增加类别性别枚举类型
类型是Structure Student类型
数组选择Array
添加默认值
3.12.2 访问给定index元素
3.12.3 遍历结构体
3.12.4 带Break跳出的遍历
与 2.2.6 For Loop With Break 对比着看
3.12.5 break拆开,make设置
break student
make student
Make(make函数是创建一个结构体添加) 或者创建一个结构体变量做添加 和break 形成对比
3.12.6 添加结构体
Add/Addunique添加 (创建一个结构体变量做添加)
3.13 Set
3.13.1 Set 介绍
Set的key 和value都是相同的(和map做对比)set里面内容不能重复
3.13.2 添加Item
数组里面有的和set重复,不会重复添加
3.13.3 清空
3.13.4 是否包含
输出 true/false
3.13.5 输出Set的长度
### 3.13.6 移除Set中的某个项目
移除Set中的某个项目,如果存在的话,移除成功,输出True。如果不存在的话,移除失败,输出False。
3.16.7 移除Set和Array中重复的项目
移除Set和Array中重复的项目。
3.13.8差集 交集 并集
3.14 Map节点
3.14.1 介绍
3.14.2 添加
键不允许重复
3.14.3 清空
3.14.4 是否包含某个键
3.14.5 查找对应的值
3.14.6 输出所有的键Key
3.14.7 输出所有的值Value
3.14.8 输出Map的长度
3.14.9 根据键去移除某个项目
3.15 GameInstace存储全局变量
右击查找 GameInstace
在project setting中设置 Game Instance
创建完成
内部,左面有定义的全局变量和全局方法
调用
定义一个全局的宏,也可以直接在类中写,这里定义全局的宏,避免重复调用。
设置全局变量 AllCrystalNum
4 自定义函数
4.1 类内函数
Functions 里面添加
定义SwapNumber函数
函数的内部
在蓝图类中调用
对数组中存储的数进行排序
4.2 类外函数(蓝图函数库)
内部
5 宏
函数和宏的对比?
函数只有一个执行引脚
宏有多个执行引脚
5.1 类内宏
设置宏
宏内
使用宏
5.2 蓝图宏库
右击创建宏,继承自最普通的Actor
创建完成
定义Isplayer宏
调用,直接在蓝图类右击搜索名字。
6 数字节点
6.1 整型相关的数学节点
6.1.1 求余数
6.1.2 求绝对值
6.1.3 求相反数
求相反数,并把结果设置回输入的变量
6.1.4 限制输出的数的范围
限制输出的数的范围,如果输入的值小于最小值,则输出最小值。如果输出的值大于最大值,则输出最大值。否则,输出自身。
6.1.5 自增/自减
6.1.6 获得输入的数据的符号
6.1.7 和一个数比较大小
6.1.8 输出2个值中较大较小的值
输出2个值中较大的值
输出2个值中较小的值
6.1.9 输出数组中最大最小的值
6.2 布尔类型相关的数学节点
6.2.1 逻辑与 A&&B
6.2.2 逻辑或 A||B
6.2.3 逻辑非 !A
6.2.4 A && (!B)
6.2.5 A||(!B)
6.3 向量的数学运算节点
6.3.1 计算向量的长度
6.3.2 输出向量的长度的平方
6.3.3 通过向量的长度去限制向量的值
6.3.4 点成/叉乘
6.3.5 计算一个点到一条线的距离
6.3.6 求得单位向量
6.3.7 得到2个向量之间的单位向量
6.4 随机数
6.4.1 随机生成一个0~max-1之间的整数
6.4.2 随机生成一个0~max-1之间的整数,seed相同的情况下,生成的值,相同
6.4.3 根据权重生成True/False的几率也不同
6.4.4 随机生成Min~Max之间的整数
7 TimeLine时间轴
7.1 介绍
Play 从当前时间正向播放
Play from start 时间轴开始的地方正向播放
Stop 在当前时间处停止播放
Reverse 从当前时间反向播放
Reverse from end 从结尾的地方反向播放
Set new time 设置一个新的当前时间
New time 获得输入的时间
Update 运行的过程中执行的内容
Finished 整个timeline走完 执行的内容
Direction 输出timeline 是正向的播放 还是逆向的播放
灯光 闪亮的操作
勾选autoplay 自动运行 和loop循环
如果不勾选autopaly 就要通过事件去触发了
7.2 得到timeline状态值的节点
下面函数都与这上面对应
7.2.1 获取是否忽略时间膨胀
7.2.2 获取TimeLine的长度
7.2.3 获取播放的速率
7.2.4 获得当前播放位置
7.2.5 获取是否是循环播放
7.2.6 获取是否正在播放TimeLine动画
7.2.7 获取是否正在反向播放TimeLine动画
7.3 设置是否循环播放
7.3.1 设置是否循环播放
7.3.2 设置播放速率
7.3.3 设置新时间
7.3.4 设置播放位置
7.3.5 设置时间轴的长度
8 关卡
创建关卡Level
游戏打开就打开默认关卡,在project setting中设置default maps
蓝图跳转关卡
存储关卡名称
Open Level 关卡名称