FSM 有限状态机是一种设计方式,用于处理不同状态的切换
其主要包含以下几个部分:
- 状态(进入、更新、离开)
- 过渡条件 【
用于控制状态的切换
】- 状态机控制器【
用于控制状态机
】
本文主要介绍 NodeCanvas
的 FSM 使用,具体基础 FSM 概念不做解释。
# 开始
为游戏对象添加如下脚本:
# 结点类型
NodeCanvas 中结点分为几个类型:
- Action State(动作状态,只处理进入状态)
- Super Action State (超级动作状态,能处理进入、更新、离开状态)
- Pass(过渡态,不做任何处理)
- Parallel(并行。 在状态机处于任意状态时,并行执行)
- Any State(能够从任意状态进行状态切换,在状态机过程中,时刻监听)
# 结语
在 FSM 中,也没什么太多可以讲的,其条件和行为结点为 NodeCanvas
行为树、状态机、对话树所共用。
个人感觉,NodeCanvas 设计最棒的一点就是,他三种系统用的同一个底层,而且可以互相嵌套兼容。