前言:每日记录自己学习UE的心得和体会,小弟才疏学浅,如有错误的地方,欢迎大佬们指正,感谢~
蓝图
蓝图功能
注释
选中相应的节点,按c键注释
断开连线
atl+鼠标左键
蓝图分类
关卡蓝图
每一个关卡对应一个关卡蓝图,关卡蓝图无法新建,只能打开默认的关卡蓝图并使用。
Game Instance(游戏实例)
切换关卡时不会被销毁的一种数据管理类蓝图。
存储全局游戏信息。
Game Mode(游戏模式)
管理全体玩家的输入控制、相机等基础信息,切换关卡时会被销毁。
游戏里的每个小游戏可以视为不同的游戏模式。通常,加载小游戏也是加载新关卡的行为。
存储该关卡下的信息。如当前赛事进行时间、角色排名。
Pawn/Character(游戏角色)
管理单一玩家的输入控制和实时信息。角色死亡时销毁,复活后产生新的。
存储当前时刻角色数据,如角色位置、实时血量、技能CD、手里剩余的每张卡牌等等。
蓝图节点
●事件节点
●功能节点
●变量节点
●引用节点
逻辑节点
序列节点(Sequence)的作用就是可以将一个长的顺序执行代码划分成段, 更便于管理。注意:序列节点是单线程的。分段会按照引脚(pin)的顺序执行。
分支(Branch) 节点:用于判断指定条件是否满足,如果条件为true, 执行true输出节点的逻辑,如果条件为false,执行false节点的逻辑。
ForLoop节点: 执行指定次数的功能的节点。需要传入循环开始值与结束值
ForLoopWithBreak节点: 在没有执行break时,与ForLoop节点功能- 样,当执行break时,循环终止
WhileLoop节点:只要满足循环条件,-直执行节点
Do N节点:当执行到第N次后,功能将不再执行。要想再次执行,需要执行一-次Reset复位
Do Once节点:只执行一-次,要想再次执行需要执行Reset
Flip Flop节点:又称翻转节点,可以输出两个功能,第- -次执行A功能, 第二次执行B功能,第三次再次执行A功能
Gate节点:又称门节点,即当门打开时,随时可以执行功能,当门被关闭后,就不能执行功能
**Multi Gate(多门)**节点:默认情况下会依次执行出输出,当所有输出完成后,不再执行输出。输出节点可以添加,还可以循环与随机
ForEachLoop:针对数组的的ForLoop
ForEachLoopWithBreak:针对数组的ForLoopWithBreak
时间轴节点(Timeline) 是蓝图中的特殊节点,功能是在指定的时间内将指定值变化到目标值
插值(Lerp) 节点:根据Alpha的值返回A到B之间的值, Alpha的取值范围为0-1
Deactivata:禁用组件
Activate:启用组件
Delay: 延迟
功能节点
**打开关卡(Open Level)**打开一个新的关卡
**从类生成Actor(Spawn Actor from Class)**生成一个Actor
暂停游戏(Set Game Paused)
蓝图类之间的交互
添加控制操作映射
在蓝图里添加别的蓝图的变量。
蓝图类与关卡蓝图交互
在关卡蓝图中定义自定义事件
在蓝图类中通过执行控制台命令(Exgecute Console Command)节点来执行关卡蓝图事件
注意事件必须为自定义事件,否则会调用失败
Command中输入ce事件名,而且必须以ce开头,ce为关键字,ce后面需要加空格
蓝图应用
变量
获取与设置变量:
获取变量:按住ctr将变量拖到事件图表中
设置变量:按住alt将变量拖到事件图表中
数组
1.查找项目(Findltem) :查找指定元素的下标
2.获取数组长度 (Length)
3.获取数组最后一-个元素下标: lastindex
4.插入数组元素(insert)
5.判断数组是否存在元素(Contains)
6.移除元素()
函数与自定义事件
相同点:
是可以将- -段逻辑封装为功能
都可以接收参数
其他蓝图都可以直接调用
不同点:
函数可以有局部变量,自定义事件没有
函数可以定义返回值,自定义事件没有返回值
自定义事件的逻辑是在事件图表定义,函数则需要单独使用一个图表;
函数不能使用delay(延时功能),而自定义事件可以。是因为函数调用需要等待结果,才会有后续动作,而事件只要触发就会继续往下面执行;
从逻辑上看:只要事件一触发, 处理的逻辑和事件本身没有关系;而函数一般是通过传一-些数据, 最后输出结果,关注的是处理结果,从传入参数到执行逻辑返回数据整个过程都是函数体需要关注的。
选择:
当只需要执行这个功能,而且具有延时功能时,用自定义事件
当需要做运算并返回结果的,用函数
函数与宏
蓝图宏整体功能与函数类似,都是对一-些功能算法进行了封装,可以根据情况添加多个输入弓|脚与输出引脚
函数只有一个引脚,宏可以有多个输入、输出引脚;
其他蓝图可以调用函数,不能调用宏
宏库
用于将多个宏管理起来库文件,由于是文件,所以需要创建宏库,我们可以在所有的蓝图中调用宏库中的宏