news 2026/6/9 23:31:14

子树节点-–-behaviac

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
子树节点-–-behaviac

原文

子树的介绍

通过子树节点,一个行为树可以作为另一个行为树的子树。作为子树的那个行为树被“调用”。如同一个动作节点一样,子树节点根据子树的执行结果也会返回执行结果(成功、失败或运行。),其父节点按照自己的控制逻辑来控制接下来的运行。

递归

一个行为树可以“调用”自己,这么做的时候形成递归,形成递归的时候需要注意不要造成死循环,这可以通过变量的使用来避免。

如下图所示,利用testVar_0来避免死循环:第一次进入的时候testVar_0 == 0,所以可以执行下面的序列,先把testVar_0赋值为1,那么在下面的递归重入的时候由于testVar_0 == 1,所以testVar_0 == 0的条件不满足,所以下面的序列不会进入从而避免了死循环。

子树节点的属性

当选取子树节点的时候,在属性面板中显示如下图的属性:

  • 引用文件名,作为被调用的子树的行为树的相对路径。该属性不允许为空,需要是有效的路径。没有提供有效路径会导致报错并且该树不允许被导出。引用文件名可以是const常量,可以是变量(其值是行为树的相对路径),或函数(其返回值需要是字符串,是行为树的相对路径)
  • 任务,如果子树的根节点是任务节点,这里会出现该任务,并且允许提供参数。如在最上的图中,8号节点travel(x, ax),4号节点travel(ay, y)。如果子树的根节点不是任务节点,或者引用文件名不是常量,任务属性就是空的。

添加子树节点

  • 在编辑器中,可以通过鼠标拖拽一棵行为树到另一棵行为树中生成子树节点,被拖拽的行为树的路径被设置到引用文件名。需要指出的是,并非任意一个行为树都可以作为另外一个行为树的子树。作为子树的行为树的Agent类型需要是“父树”的Agent类型的子类或同类。

  • 也可以像添加其他节点那样,在节点列表中选取子树,拖拽其到相应的位置,然后配置引用文件名任务

  • 如果手工配置的子树的路径是空的,或无效的则会报错,该树不允许被导出。如果配置的是变量或函数,编辑器中无法知道其是否有效,只有运行的时候才会报运行时错误,如果其运行时的值无效的话。

版本

在3.4.0之前的版本中,子树节点只允许配置常量,只允许使用鼠标拖拽一棵行为树到另一棵行为树中生成子树节点。在3.4.0及以后的版本中,引用文件名可以是常量,也可以是变量或函数,也就是说3.4.0及以后的版本中,子树节点引用的子树可以是”动态”的。

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

LrcAPI:快速集成歌词服务的终极解决方案

LrcAPI:快速集成歌词服务的终极解决方案 【免费下载链接】LrcApi A Flask API For StreamMusic 项目地址: https://gitcode.com/gh_mirrors/lr/LrcApi 在音乐应用开发中,歌词同步显示功能往往成为技术实现的瓶颈。传统方案需要对接多个音乐平台AP…

作者头像 李华
网站建设 2026/6/10 14:53:03

钓鱼链接的7种“伪装套路”?识破技巧+防御指南全拆解

网络钓鱼攻击早已不是“低级骗术”,而是进化出多种精准伪装手段——从AI生成的高仿页面到定向投递的鱼叉式链接,仅需一次误点,就可能导致账号被盗、数据泄露甚至财产损失。Verizon《2024年数据泄露调查报告》显示,74%的网络入侵始…

作者头像 李华
网站建设 2026/6/9 13:30:15

Grafana中文版完整汉化指南:快速部署监控仪表盘

Grafana中文版完整汉化指南:快速部署监控仪表盘 【免费下载链接】grafana-chinese grafana中文版本 项目地址: https://gitcode.com/gh_mirrors/gr/grafana-chinese Grafana中文版是一个专为中国用户打造的监控仪表盘汉化项目,基于官方Grafana源码…

作者头像 李华
网站建设 2026/6/10 13:51:36

VS Code语法检查终极指南:Grammarly插件完整使用教程

VS Code语法检查终极指南:Grammarly插件完整使用教程 【免费下载链接】grammarly Grammarly for VS Code 项目地址: https://gitcode.com/gh_mirrors/gr/grammarly Grammarly for VS Code是一款专为开发者设计的智能写作辅助工具,它将专业的语法检…

作者头像 李华