NodeCanvas之FSM有限状态机

FSM有限状态机是一种设计方式,用于处理不同状态的切换

其主要包含以下几个部分:

  1. 状态(进入、更新、离开)
  2. 过渡条件 【用于控制状态的切换
  3. 状态机控制器【用于控制状态机

本文主要介绍NodeCanvas的FSM使用,具体基础FSM概念不做解释。

image-20210908225324425

FSM示例图

开始

为游戏对象添加如下脚本:

image-20210909125300176

结点类型

NodeCanvas中结点分为几个类型:

  1. Action State(动作状态,只处理进入状态)
  2. Super Action State (超级动作状态,能处理进入、更新、离开状态)
  3. Pass(过渡态,不做任何处理)
  4. Parallel(并行。 在状态机处于任意状态时,并行执行)
  5. Any State(能够从任意状态进行状态切换,在状态机过程中,时刻监听)

结语

在FSM中,也没什么太多可以讲的,其条件和行为结点为NodeCanvas行为树、状态机、对话树所共用。

个人感觉,NodeCanvas设计最棒的一点就是,他三种系统用的同一个底层,而且可以互相嵌套兼容。