行为树 Behavior Tree 基础
我的博客:Fasty的小站
以最简单的方式,带大家认识和使用行为树,此系列长期更新,望大家喜欢!
你的支持便是我写作的动力。
目录:
1.什么是行为树?
2.什么情况下要使用行为树?
3.行为树有什么优点?
4.行为树由哪几部分组成?
5.行为树的工作流程?
1.什么是行为树?
自顶向下的树形结构
行为树Behavior Tree 是一种数据结构,自顶向下的树形结构。
2.什么情况下要使用行为树?
情况多变,条件复杂
在处理逻辑复杂的问题时,这个复杂可能是条件复杂,情况多样。
行为树并非是游戏Ai的专属,在处理其他复杂业务逻辑或可能时都可以尝试用行为树来解决。
3.行为树有什么优点?
高效可读,易于扩展
行为树解决的问题是将复杂的关系,简单化,能很大程度的加强程序的可读性,健壮性。
4.行为树由哪几部分组成?
主要由四部分 CDAC 组成 ,两根两叶
- Composites 组合节点 只能作为根节点,控制子节点的执行(顺序)
- Decorator 装饰节点 只能作为根节点,修饰子节点
- Actions 行为节点 只能作为叶子节点,执行具体动作
- Conditinals 条件节点 只能作为叶子节点,判断条件
5.行为树的工作流程?
自顶向下,从左至右(并发进行),逐层进行
行为树执行的成果(成功/失败),由其子节点决定,子节点执行完成后会向父节点传递成功/失败的消息,
最终这些来自各个子枝的消息汇聚到行为树,行为树将结果整合得到行为树的最终执行结果。
其最终结果:同真为真,一假则假
相关阅读:
Unity 从零开始 的行为树之旅(二)