翻译了 Behavior Designer 文档的主要部分,也简单整理了下未来查阅也能方便些( 每次翻英文挺慢的),顺便分享一下
BehaviorTree Manager
主要用来管理行为树的全局更新频率与任务执行模式
这个组件负责管理场景中所有行为树的执行
如果一个 Behavior Manager 不存在, 当一个行为树运行时,它会创建一个新的GameObject附加一个Behavior Manager组件
指定更新间隔
-
“Every Frame”: 在Update循环中每帧tick行为树
-
“Specify Seconds”: 以给定的秒数更新行为树
-
“Manual”: 将控制权交给用户, 通过下面的代码进行tick
BehaviorManager.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的生命周期