State Machines 状态机
States 状态
一个FSM(状态机)包含的有限数量的状态,FSM可以在任意时间处于这些状态。当状态被激活,每个状态都会执行一个特定的任务或多个动作任务。当一个状态处于活动状态时,它的所有传出转换要么每帧计算一次,要么在状态结束后计算一次,只要这些条件中的任何一个为真,转换就会发生,结果是当前状态被禁用,新状态被启用。一帧内只能发生一次过渡。
Transitions 转换
FSM中的每个状态都可以有传出转换。在NodeCanvas中,转换是基于条件的,这意味着每个转换评估都基于一个或多个可以分配给该转换的条件任务。另外,没有指定任何条件的转换被称为“OnFinish”转换,顾名思义,只有在状态结束后才会保持正确。当您在一个状态中有多个传出转换时,您可以优先考虑通过状态的Inspector GUI评估它们的顺序。这显然很重要,因为一次只能发生一次转换。默认情况下,每帧计算一次转换,但也有一个选项,只在状态结束后计算一次转换。在状态的inspector面板上可以找到这两个选项,分别名为 “Check Continuously” (the default)“”连续检查“ 和 “Check After State Finished”“状态完成后检查”。