当前位置: 首页 > news >正文

UE的AI行为树Selector和Sequence如何理解

在 Unreal Engine 的行为树(Behavior Tree)中,SequenceSelector 都属于“复合节点”(Composite Nodes),它们负责控制子节点的执行流程。可以把它们类比成程序里的“逻辑运算符”:


1. Sequence(序列节点)

  • 执行逻辑:从左到右依次执行它的每个子节点,

    • 如果某个子节点返回 Failure(失败),整个 Sequence 就立即返回 Failure,不再执行后续子节点。

    • 只有当所有子节点都返回 Success(成功)时,Sequence 才返回 Success

  • 用途:用来描述“并且”关系的行为流程——只有前面的动作都成功了,才继续下一个动作。

  • 示例

    1. 检查玩家是否在视野内(检测节点)

    2. 向玩家移动(移动节点)

    3. 执行攻击(攻击节点)

    如果第 1 步检测失败(玩家不在视野内),Sequence 立即失败,AI 不会执行移动和攻击。


2. Selector(选择节点)

  • 执行逻辑:同样从左到右依次执行它的每个子节点,

    • 如果某个子节点返回 Success,整个 Selector 就立即返回 Success,不再执行后续子节点。

    • 只有当所有子节点都返回 Failure 时,Selector 才返回 Failure

  • 用途:用来描述“或者”关系的行为分支——只要有一个动作成功,就当整体成功。

  • 示例

    1. 如果血量低(检测节点),则执行“寻找回血点”

    2. 否则如果看到敌人(检测节点),则执行“攻击敌人”

    3. 否则执行“巡逻”

    — 当第 1 步检测到血量低,Selector 返回成功,AI 直接去回血,不会再判断看到敌人的分支。


  • Sequence:只要遇到失败就“短路”(short-circuit)返回失败。

  • Selector:只要遇到成功就“短路”返回成功。


3. 使用建议

  • Sequence 常用在“完成一系列步骤”场景,比如:开门 → 进入房间 → 拾取物品。

  • Selector 常用在“多种策略可选”场景,比如:如果能攻击就攻击,否则就去巡逻;如果看见敌人就追踪,否则就隐藏。


掌握了这两者,就能灵活地搭建出复杂的 AI 行为逻辑:用 Sequence 组合必须按顺序完成的动作,用 Selector 划分不同的行为分支。这样既清晰又易于维护。

相关文章:

  • day6 cpp:c中处理字符串,c++string
  • CSP信奥赛C++常用系统函数汇总
  • Linux 下 DMA 内存映射浅析
  • Effective Java 第三版 第二三章总结
  • 【JVM】Java虚拟机(三)——类加载与类加载器
  • [创业之路-410]:经济学 - 国富论的核心思想和观点,以及对创业者的启发
  • Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
  • 2025-06-02-IP 地址规划及案例分析
  • OD 算法题 B卷【反转每对括号间的子串】
  • Secs/Gem第八讲(基于secs4net项目的ChatGpt介绍)
  • 剑指offer19_链表中倒数第k个节点
  • Netty集群搭建
  • python打卡day48
  • PandasAI使用
  • 深入解析 Pandas 核心数据结构:Series 与 DataFrame
  • 重读《人件》Peopleware -(15)Ⅱ 办公环境 Ⅷ 撑伞之步:构建理想办公环境(下)
  • 【C++系列】智能指针自定义析构
  • 6.5 自学测试 数据库基础 Day5
  • C++11 右值引用
  • 第十八章 归档与备份
  • 中文wordpress网站模板下载失败/百度怎么找人工客服
  • 乐亭网站建设/雅思培训机构哪家好机构排名
  • 上海公司牌照价格最新价格/seo博客教程
  • 呼伦贝尔网站建设维护/贵州seo技术培训
  • 博客网站怎么做/seo推广优化培训
  • 重庆綦江网站制作公司哪家专业/佛山百度seo代理