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

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

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

http://www.jsqmd.com/news/107749/

相关文章:

  • OBS多平台直播终极指南:从入门到精通的完整方案
  • 5-Nitroindole Amidite,5-硝基吲哚核苷酸酰胺化试剂(5-硝基吲哚 Amidite)
  • 条件执行节点-–-behaviac
  • 哔哩下载姬DownKyi完整教程:从入门到精通的8大核心技巧
  • 5-FAM,单一异构体,5-Carboxyfluorescein, 5-FAM, 单一异构体
  • Langfuse
  • 技术人才职业发展:从工具思维到价值创造的成长阶梯
  • Quasar 705 T Amidite,Quasar 705 T 核苷酸酰胺化试剂,化学特性
  • 百度贴吧用户脚本终极指南:告别繁琐操作,体验贴吧新境界
  • BTQ-2 dT Linker Amidite,BTQ-2 胸腺嘧啶链节核苷酸酰胺化试剂,化学性质
  • 5‘-Thiol Modifier C6 S-S Amidite,5‘-硫醇修饰剂 C6 双硫键核苷酸酰胺化试剂
  • Unity RestClient 终极指南:告别回调地狱的异步网络编程
  • 微服务架构设计 - 分布式锁使用方法论
  • 驱动开发系列74 - GPU中的I2C
  • libgit2跨平台构建终极指南:从源码到生产部署的完整实践
  • 思考与练习之答案与解析(第六章 程序控制结构)
  • 告别腾讯游戏卡顿:sguard_limit资源限制器完整使用指南
  • TNN人脸识别模型
  • 【源码解读之 Mybatis】【核心篇】--第5篇:Executor执行器体系详解
  • 思考与练习之答案与解析(第五章 基本数据类型)
  • 论文分享|重新思考循环神经网络与图像分类的改进(Rethinking Recurrent Neural Networks and Other Improvements for Image Class)
  • DeepPavlov对话系统监控指南:从零搭建智能运维体系
  • Python金融数据获取完整指南:高效实用的量化分析利器
  • 终极3D创作革命:Stable-Dreamfusion让每个人都能轻松制作专业级3D模型
  • 专业课135+总分400+南京理工大学818信号系统与数字电路南理工考研经验分享,电子信息与通信工程,真题,大纲,参考书。博睿泽信息通信考研Jenny。
  • 问财数据获取终极方案:Python量化分析新利器
  • 回溯法:数据结构中“试错”的艺术回溯法
  • 告别命令行的烦恼:新手运维的智能伙伴——Wisdom SSH 介绍
  • 词库转换全攻略:告别输入法迁移困扰的终极解决方案
  • Wisdom SSH 如何通过 AI 驱动实现跨会话和批量运维操作