Behavior Designer 文档翻译

翻译了 Behavior Designer 文档的主要部分,也简单整理了下未来查阅也能方便些( 每次翻英文挺慢的),顺便分享一下

BehaviorTree Manager

主要用来管理行为树的全局更新频率与任务执行模式

这个组件负责管理场景中所有行为树的执行

如果一个 Behavior Manager 不存在, 当一个行为树运行时,它会创建一个新的GameObject附加一个Behavior Manager组件

指定更新间隔

  • “Every Frame”: 在Update循环中每帧tick行为树

  • “Specify Seconds”: 以给定的秒数更新行为树

  • “Manual”: 将控制权交给用户, 通过下面的代码进行tickBehaviorManager.instance.Tick();

任务执行类型

Task Execution Type: 允许指定行为树在tick时遇到一个已经执行的任务是否继续执行任务, 还是继续执行到最大任务数量

例如下面这个任务

(repeater任务: 按指定次数重复子任务;)

Repeater被设为重复5次

如果 Task Execution Type 被设定为 No Duplicates, Play Soung 仅会在一次 tick 中重复1次

如果 Task Execution Type 被设定为 Count, 可以指定最大任务执行次数; 如果指定为 5, 那么Sound就会在一次tick中执行所有的5次

Taks

在最高级别上, 行为树是任务的集合

Task的API与Unity的Mono声明周期相似

Task 默认有三个暴露的属性: name, comment, instant

对于 Instant : 如果一个 task 返回 success 或 fail, 在同一个 update tick 中, 它会立刻移至下一个任务

如果不启用 Instant, 它会在下一个 task 开始前等待一个 update tick

task的生命周期

资源下载: