Skip to content

为什么去掉Blackboard

云却 edited this page Sep 21, 2023 · 1 revision

为什么去掉Blackboard

Blackboard的作用

  • 给行为树提供一个快速绑定列表,节点参数可以快速 绑定/引用 黑板中声明的参数。
  • 多个行为树共享。多个行为树实例可以使用同一个黑板。
  • 事件触发代替行为树轮询。有外界主动向黑板的参数复制,触发参数值改变事件。
  • 与Agent对象解耦。行为树不必关心谁在执行行为树,不考虑Agent成员构成。

去掉Blackboard的原因

  • 定制了新的绑定和解析机制,行为树可以直接绑定到game object组件的成员上。
  • 行为树是轮询驱动的,不是事件驱动的,触发参数值改变事件不是强制需求。
  • 可以基于接口绑定,同样可以实现与Agent解耦。
  • 避免大量的Blackboard.SetValue代码。
    比如cd值,hp值,正常编写业务逻辑计算,绑定之后,行为树主动读这些值,而不需要额外代码。