参考链接:
https://blog.csdn.net/linxinfa/article/details/72937709
https://blog.csdn.net/wanghaodiablo/article/details/52587364
https://blog.csdn.net/q414620221/article/details/78596732
0.节点
一般情况下,只需要扩展Conditional和Action这两种节点即可,Decorator和Composite节点只需要使用内置的就足够了。
对于Conditional节点,根据判断条件返回成功或者失败即可。
对于Action节点,除了成功或者失败之外,还有一种Running的状态,表示该节点还没执行完毕,下一帧继续执行该节点。
对于Composite节点,这里直接引用链接里的:
a.Sequence:
b.Selector:
c.Parallel
这里对Parallel节点测试一下:
测试一:
测试二:
1.行为树的生命周期
一般来说,当一棵树没有可以继续执行的节点时,这棵树的生命周期也就结束了。
a.设置float变量num,值为0。下面的逻辑是如果num大于0,则输出"大于0",否则输出“小于等于0”。这棵树只执行一遍。
b.repeater节点勾选repeat forever,这棵树执行完一遍后就会继续执行了。
c.将num值改为1,增加Action节点,返回Running。这样这颗行为树就会卡在Action节点,不会继续执行其他节点了,生命周期也不会结束。
d.因为Action节点返回Running,所以行为树一直未执行完毕,repeater节点不起作用,Conditional节点只执行了一遍。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?