news 2026/4/23 12:18:54

选择监测节点-–-behaviac

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
选择监测节点-–-behaviac

原文

选择监测节点(SelectorMonitor)和监测分支节点(WithPrecondition)作为对传统行为树的扩展,可以很自然的处理事件和状态的改变,类似于程序语言中的“switch…case”语句,如下图所示:

  • 选择监测和监测分支节点只能配对使用,即选择监测节点只能添加监测分支节点作为它的子节点,监测分支节点也只能作为选择监测节点的子节点被添加。
  • 监测分支节点有条件分支子树和动作分支子树。只有条件分支子树返回成功的时候,动作分支子树才能够被执行。
  • 选择监测节点是一个动态的选择节点,与选择节点(Selector)相同的是,它选择第一个返回成功的子节点,但不同的是,它不是只选择一次,而是每次执行时都对其子节点重新评估后再进行选择。

默认情况下,上一次得到执行的动作分支,如果在下一次其条件分支也返回成功,那么这个动作分支会继续执行上次返回正在运行的节点。例如,假设上图中上一次执行行为树的时候,ID为13的条件节点返回成功,并且已经执行到ID为9的动作节点(这时ID为4的动作节点已返回成功,而ID为9的动作节点返回正在运行)。那么,当下一次执行该选择检测节点时,如果发现ID为13的条件节点还是返回成功,ID为9的动作节点就会直接得到执行,而不是先执行ID为4的动作节点。

但有的时候,可能需要在条件分支再次得到满足时,其动作分支需要重新执行,而不是默认情况下的从上次返回正在执行的节点继续执行。例如,对于上面的例子,当ID为13的条件节点再次返回成功时,需要重新执行其动作分支,即重新开始执行ID为4的动作节点。这时候,需要勾选上选择检测节点的属性“重置子节点”,如下图所示:

勾选该属性后,选择检测节点每次执行时,都会从头开始执行其动作分支。

选择检测节点的实现很像并行节点,每帧都要重新执行所有的子树,大量使用的时候请注意其性能。

具体的执行逻辑可以查看behaviortree/nodes/composites/selectorloop.cpp

另外,执行行为树的过程中,当状态、条件发生变化或发生事件(Event)时如何响应或打断当前的执行是个重要的问题。

目前behaviac组件支持三种方式来处理状态变化或事件发生:并行节点、选择监测节点、事件附件等。简而言之,并行和选择监测节点的工作方式是采用“轮询”的方式,每次执行时需要重新评估所有子节点,而不是像其他节点会保留上一次正在执行的子节点以便在下一次执行时继续执行。事件附件是在游戏逻辑(程序端)发出事件时,才按需得到响应。

请详看文档《事件处理》。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 9:37:15

PHP 图像处理实战 GD/Imagick 从入门到精通,构建高性能图像服务

心价值构建可靠的 PHP 图像处理流水线,支持尺寸调整、裁剪、方向校正和文件优化基于明确的技术指标选择 GD 或 Imagick,避免盲目决策掌握 cover 和 contain 适配模式的正确应用,支持自定义焦点合理选择现代图像格式(WebP/AVIF、渐…

作者头像 李华
网站建设 2026/4/23 1:02:44

思考与练习之答案与解析(第五章 基本数据类型)

一、单项选择题答案及解析1、②Python 的整数(int)类型采用可变长度的表示方式,能够自动处理大整数,其大小只受计算机可用内存的限制,这与许多其他语言(如 C、Java)的固定长度整数有本质区别。这…

作者头像 李华
网站建设 2026/4/21 5:48:45

告别腾讯游戏卡顿:sguard_limit资源限制器完整使用指南

还在为腾讯游戏关键时刻的突然卡顿而烦恼吗?ACE-Guard反作弊系统虽然保障了游戏安全,但其资源占用机制却成为游戏流畅度的"主要影响因素"。本文将为你详细解析sguard_limit这款专业资源管理工具的安装配置方法,让你的游戏体验重回巅…

作者头像 李华
网站建设 2026/4/17 9:29:01

12月17号:买入和博弈预期有关

什么时候可以买入?无非是看到了熟悉的模式买点,拆解的话,可能是看到市场情绪连续分岐达到了冰点、可能看到了情绪昨天分岐今天竞价转修复、可能看到了市场容错率在回暖并且有明显的抗跌逆势的品种,总统来说就是看到了一些可以进攻…

作者头像 李华
网站建设 2026/4/11 7:16:20

Memory MCP Server终极指南:构建AI持久记忆系统

Memory MCP Server终极指南:构建AI持久记忆系统 【免费下载链接】servers Model Context Protocol Servers 项目地址: https://gitcode.com/GitHub_Trending/se/servers 你是否曾经遇到过这样的困扰:每次与AI助手对话都要重复介绍自己的背景信息&…

作者头像 李华
网站建设 2026/4/23 4:42:41

回溯法:数据结构中“试错”的艺术回溯法

在数据结构与算法的世界里,有一类问题似乎天生带着“选择困难症”——组合求和、排列生成、子集划分……这类问题往往需要穷举所有可能的解,再从中筛选出符合条件的答案。而回溯法,正是解决这类问题的“金钥匙”,它以“试探 - 回溯…

作者头像 李华