子树 (v1.1.0)


子树的引入是为了解决以下问题,

  1. 折叠起一个分支,让行为树看起来更简洁。
  2. 状态机与行为树的嵌套。

子树功能是通过使用子树任务 Subtree 来实现的。

图片不见了?!

子树任务是一个特殊的行为树任务,

  1. 在编辑器中,他看起来像个叶子节点(只有一个锚点,用于连接父任务)。
  2. 双击 他可以进入子树的编辑页面。
  3. 子树编辑页面中,入口任务由 Entry 变成了 Subtree ,其他操作与初始编辑页面无异。

[!Note] 需要注意的是,子树为编辑器所特有,运行时并无子树的概念,也没有 Subtree 这个任务。

也就是说,子树任务在编辑器中只是起到 连接两个编辑页面 的作用。

比如下面这个例子,

初始编辑页面

图片不见了?!

子树编辑页面

图片不见了?!

他等价于(展开后)

图片不见了?!

[!Note] 运行时加载的正是这个展开后的树。

因此在上面这个例子中, Sequence 的直系父任务是 Selector 而非 Subtree

-

当有多个子树时?

可以给他取个名字,区分不同的子树。

图片不见了?!

子树支持嵌套

图片不见了?!

results matching ""

    No results matching ""