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 设计最棒的一点就是,他三种系统用的同一个底层,而且可以互相嵌套兼容。

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Fasty 微信支付

微信支付

Fasty 支付宝

支付宝

Fasty 贝宝

贝宝