1.Action State(动作状态)
动作状态节点本身包含一个动作列表。在编辑器上,分配的动作将并行执行或依次执行。可以在检查器中设置。只要所有行动都完成,状态就被认为已经完成。在“播放”模式下,正在运行的动作将在其前面标有播放图标。
OnEnter:列出的所有动作将执行(OnExecute)
OnExit:列出的所有操作将停止(OnStop)
Finished:列出的所有动作均已结束(EndAction)
您可以通过选中 “Repeat State Actions”(重复状态操作)来选择是否要重复列出的动作。
您还可以通过动作列表下方的相关GUI控件设置是要列出的动作依次运行还是并行运行。
2.Any State(任意状态)
Any State节点用于根据条件从任何状态转换为任何其他状态。它可以具有不断检查的任意数量的转换。如果任何转换的条件为真,则FSM的当前状态(无论是哪种状态)都将退出,而任何状态转换的目标之一将进入。
您还可以标记 “Don’t Re-Trigger Active States”(不要重新触发活动状态),以防止“任何状态”转换为已经活动的状态。
3.Concurrent (并发状态)
FSM启动后,并发状态节点将立即执行,并且并行于任何其他状态。这本身不是状态,因此它既没有传入也没有传出转换。FSM完成后,该状态的操作将停止。
OnEnter:列出的所有动作将执行(OnExecute)
OnExit:列出的所有操作将停止(OnStop)
Finished:列出的所有动作均已结束(EndAction)
4.Pass(通道)
此节点没有功能,您可以将其用于组织。与空动作状态(即使为空也总是生成一帧)相比,传出转换将立即在输入此节点的同一帧中计算。
5.Super Action State(超级动作状态)
超级操作状态对何时执行操作提供了更好的控制。如果OnUpdate列表中有任何动作,那么这个状态永远不会自己完成,因此在这种情况下OnFinish转换将永远不会被调用。当状态退出时,仅对1帧调用OnExit操作。
6.BehaviourTree(嵌套行为树)
嵌套行为树节点被分配了整个行为树。输入后,将基于检查器中选择的设置一次或永久执行“行为树”。如果设置为“Run Once”(运行一次),则在完成一个行为树循环后,此状态将立即完成。
您可以选择指定两个要发送的事件,一个事件用于嵌套行为树的根节点状态返回成功时,另一个事件用于返回故障时。只要发生任何一种,事件都会被发送。在此节点的转换上使用“检查事件条件”来利用该事件。
嵌套的行为树状态非常强大,因为您可以使行为的顶层具有广泛的状态,并且在每个状态下都可以使用行为树更深入地定义状态的行为!
OnEnter:行为树将开始
OnExit:行为树将停止
Finished:完成行为树后
暂停此FSM时,如果此节点为当前FSM状态,则嵌套行为树也将暂停。
网友评论