Blueprint —— Flow Control
目录
一,Switch Nodes
二,Editing Switch Nodes
三,Standard Flow Control Nodes
Branch
DoN
DoOnce
FlipFlop
ForLoop
ForLoopWithBreak
Gate
MultiGate
Sequence
WhileLoop
一,Switch Nodes
Switch 开关节点读取输入数据,并基于该输入值来从匹配的(或可选的默认)执行输出中发送执行流程; 可用的开关有以下几种类型: Int,String,Name,Enum;
一般而言,开关节点会根据其估算的数据类型拥有执行输入以及数据输入;输出均为执行输出;Enum 开关会自动从 Enum 属性中生成输出执行引脚,而 Int, String 及 Name 开关拥有可自定义的输出执行引脚;
二,Editing Switch Nodes
当 Int, String, 或 Name 开关节点被添加到蓝图时,唯一可用的输出执行引脚为 Default (默认)引脚; 如输入未能匹配定义的其它引脚,则 Default (默认)输出执行引脚将会被触发;
可通过在引脚上点击 右键 并选择 Remove Execution Pin 或通过对开关节点的 Details 选项卡取消勾选 Has Default Pin 选项来实现对它的移除;
三,Standard Flow Control Nodes
这些节点提供了一系列方法来控制执行的流程;
Branch
在面对单个 True/False 判定的情况下,Branch 节点创建基于判断流程的简单方式;在执行后,会查找布尔变量的输入值,并在合适的输出节点执行;
DoN
DoN 节点将会 N 次触发执行;在达到限制后,将会停止所有的输出执行,直到被传入其 Reset 输入;注,是执行N次,不是一次重复N次;
DoOnce
DoOnce 节点仅触发执行一次;在之后,将会停止所有的输出执行,直到被传入其 Reset 输入; 该节点等同于DoN节点中 N = 1 的情况;
FlipFlop
FlipFlop 节点在两个执行输出间切换,第一次被调用时输出A, 第二次将会输出B,然后再是A,然后又是B,循环往复; 该节点同时有布尔变量输出,使可以追溯输出A何时被调用;
ForLoop
ForLoop 节点的工作原理等同于标准的代码循环,将会在开始和结束之间的每个索引触发执行;
注,循环迭代将会在不同的帧间发生,这样的话大量循环可能会影响性能表现;
ForLoopWithBreak
ForLoopWithBreak 节点包含了能中断循环的输入引脚,除此,运行的方式与ForLoop节点非常相似;
Gate
Gate 节点用来开启和关闭执行流;简单来说,Enter输入执行,同时门的当前状态(开启或关闭)会决定这些执行是否从Exit输出中传出;
MultiGate
MultiGate 节点输入单个数据并将其传送到任意数量的潜在输出;可按随机或循环,执行多次;
Sequence
Sequence 节点使单个执行能按顺序触发一系列事件;节点可有任意数量的输出,且输出引脚都会按顺序被调用,但不会有任何延迟;对用户来说,输出引脚看起来好像被同时触发了一样;
WhileLoop
WhileLoop 由测试条件和循环体构成;在执行语句前,蓝图计算测试条件,以确定是否为true;在执行语句之后,蓝图重新计算测试条件,如条件仍为true,将继续执行语句;否则,如测试条件返回false,则蓝图将终止循环并退出循环体;
注,使用WhileLoop时,应考虑以下问题:
-
循环的终止条件是什么?
-
条件是否在循环的第一次测试之前初始化?
-
再次测试条件之前,是否在每个循环周期中更新了条件?