top of page

行为树

这是在Unity中实现行为树的实践

行为树结构

  • BT节点:

    • 行为树中的基础节点。该节点将在游戏过程中对每个更新帧执行行为,并返回节点的状态,如运行/成功/失败。

  •  

  • 条件节点:

  • 条件过滤器中将使用的条件节点。条件采用一个布尔函数并根据布尔函数返回节点状态,如果为真则成功,如果为假则失败。

  •  

  • 行为节点:

  • 行为树的行为逻辑,具体动作节点会根据NPC的行为来具体实现。

  • 复合节点:

  • 行为树中的分支节点,复合节点会包含子节点,并根据子节点执行行为。

  •  

  • 顺序:

  • 序列节点是复合节点的一种实现。序列按顺序执行其子节点,如果任何子节点失败,则返回失败状态,否则继续执行,直到所有子节点都成功。

  •  

  • 选择器:

  • 选择器是复合节点的实现,选择器会按顺序执行其子节点,如果一个节点成功则返回成功状态,如果所有子节点都失败则返回失败状态。

  •  

  • 条件筛选器:

  • 一个特定的序列。该序列将以条件节点作为第一个节点来检查该序列是否可以进入。

  •  

  • 优先级选择器:

  • 特定的选择器节点。它确保始终执行优先级最高的可执行子节点,优先级由子节点的添加顺序决定。

敌人AI

行为树通常用于 NPC 或玩家角色的逻辑 AI。在本次练习中,我想创建一个具有以下特征的敌人 AI:

  • 正常情况下闲置

  • 守卫朝玩家方向移动,当玩家靠近守卫范围时随机行走

  • 随机选择一次攻击

    • 攻击连击 1

    • 攻击连击2

    • 重击

​Final Effect

代码示例

bottom of page