使用方法:
- 引用自定义的Controller:在角色蓝图Detail面板中Pawn条目下设置Controller为新建的Controller。
- 启用行为树:打开新建的Controller蓝图,在Event BeginPlay 事件开始启用行为树
- 打开行为树导入黑板:(BlackBoardData,理解为每一个AI Controller拥有的一份状态数据)
行为树节点包括组合节点和任务节点
- 组合节点(包含3个,Selector,Sequence,SimpleParallel)
Selector:选择节点,代码逻辑是 or,执行其中一个子节点。子节点中从左到右的顺序,子节点有一个执行成功当前节点就返回父节点True。
Sequence: 序列节点,意思就是 And ,从左到右的顺序执行。子节点中从左到右的顺序,全部成功才返回父节点True,有一个失败就返回父节点False
SimpleParallel:简单并发节点,意思就是Then,子节点中一个主任务,可以多个辅任务,同时开始执行,可在Detail界面中选择选择立即(Immediate)或者推迟(Delayed)结束
- 任务节点 Task 任务节点,意思就是 Function,具体做一件事的方法,可以自定义,可以用内置的一些,如MoveTo移动等。
Task节点蓝图中被调用监听事件 Event Receive Excute AI(类似于Actor蓝图中的Event BeginPlay)。Event Receive Tick AI(类似于Actor蓝图中的Event Tick)
- 其他附加
Service 服务,意思就是 Tick,附加在其他节点上,按定义的频率执行,常用于检查更新。这里可以处理AI状态的逻辑
Decorator 装饰器,意思就是If,相当于给其他节点上加一个条件判断,条件成立才执行当前节点,可以自定义,可以用内置的一些,如Cooldown冷却时间等。