行为树组件


当行为树抛出 错误 时,

  1. 标题栏显示 红色 的错误标签,以及错误个数。
  2. 在行为树组件的属性检查器上显示详细的错误信息。

当行为树抛出 警告

  1. 标题栏显示 黄色 的警告标签,以及警告个数。
  2. 在行为树组件的属性检查器上显示详细的警告信息。

图片不见了?!

什么情况下会抛出错误?

  • 由行为树中的任务引起。
    • 当一个任务有错误时,行为树会相应抛出这个错误 Task<XXX> not executable
  • 由行为树组件中使用 @btprop 装饰的属性引起。
    • @btprop 设置了 required 选项, 且值为 true 或者 "error" 时,
      • 行为树将一直抛出错误 prop "XXX" not set ,直到该属性被正确赋值为止。
    • 当属性类型为 BehaviorTree Task SharedVariable 中任一种时,
      • 如果找不到定义的类型,抛出这个错误 prop "XXX" missing type
      • 如果找不到定义的值,抛出这个错误 prop "XXX" missing reference
      • 如果引用的对象本身有错误,则抛出这个错误 prop "XXX" not executable

错误有什么影响 ?

有错误说明行为树的结构或者数据是不完整的,不可运行。

开发者需要依据错误信息解决掉所有的错误。

在解决掉错误之前,预览按钮为 disabled 状态。

预览按钮的 disabled 状态只针对当前行为树,在切换到其他行为树时,会重新评估。

也就是说,开发者仍可以通过其他途径运行或预览游戏,比如 CocosCreator 工具栏上的预览按钮。

但是游戏运行之后,有错误的行为树会加载失败,导致行为树不工作。

这种情况下,你会在控制台看到这样一条警告信息,

 [ behavior-dog ] [ 行为树名字.行为树UUID ] disabled

什么情况下会抛出警告 ?

  • 由行为树组件中使用 @btprop 装饰的属性引起。
    • @btprop 设置了 required 选项,且值为 "warning" 时,
      • 行为树会一直抛出警告 prop "XXX" not set ,直到该属性被正确赋值为止。

警告有什么影响 ?

没啥影响,运行无压力。

results matching ""

    No results matching ""