BehaviorTree 组件是 BehaviorDesigner 和 tasks 之间沟通的桥梁(接口)。
Properties
名称 | 用途 |
---|---|
BehaviorName | 行为树名字 |
BehaviorDescription | 行为树描述 |
ExternalBehavior | 指定外部行为树,替代当前行为树。举例:不使用行为树预制体,而是代码添加 BehaviorTree 组件,手动赋值 ExternalBehaviorTree |
|
| Group | 整型数值,用于查找行为树 |
| StartWhenEnabled | true:组件 Enable 时,行为树就开始运行
false:组件 Enable 时,行为树不运行,需要代码调用运行 |
| AsynchronousLoad | 行为树是否使用独立线程加载。因为 Unity 不允许在 worker 线程上调用 API,如果你需要使用 shared variables 的 property mappings,则需要关闭该选项 |
| PauseWhenDisabled | true:组件 Disable 时,行为树暂停
false:组件 Disable 时,行为树结束 |
| RestartWhenComplete | true:行为树执行完后,重新从头执行
false:行为树执行完后,立即结束,不再执行 |
| ResetValuesOnRestart | true:行为树重新执行时,行为树字段和 task 的公开字段,被重置为初始值
false:保持当前值,不被重置为初始值 |
| LogTaskChanges | true:任何 task 的状态改变时,输出一个 log
false:不输出 log |
| ExcutionStatus | 运行中或已经结束的行为树的当前状态(running、success、failure) |
| OnBehaviorStart | 行为树开始委托 |
| OnBehaviorRestart | 行为树重新开始委托 |
| OnBehaviorEnd | 行为树结束委托 |
Methods
名称 | 用途 |
---|---|
EnableBehavior | 开始运行行为树 |
DisableBehavior | 暂停行为树,可通过 EnableBehavior 恢复 |
TaskType FindTask() | 泛型查找 task |
List FindTasks() | 泛型查找 tasks 列表 |
| | Task FindTaskWithName(string taskName) | task 名称查找 task | | List FindTasksWithName(string taskName) | task 名称查找 task 列表 |