分层机制 - 复杂行为树的行为控制

本文探讨了复杂行为树在NodeCanvas中的应用及局限性,并提出了一种优化方案:将行为树分为决策层与执行层,以此简化条件判断并提高管理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复杂行为树

以NodeCanvas为例,一颗复杂的行为树可以表现如下



这种结构有个弊端:

条件判定,不方便法执行中断

比如其中一棵子树处于Running状态,这时候如果需要一个条件判定,打断这个Running状态,是非常困难的。

即便在每个任务的条件节点里去判断,条件也会变得复杂而难以管理


解决办法

采用分层机制,分为决策层与执行层两部分。

所有的决策统一在一棵子树处理,按照决策的结果,在另一颗子树里检测决策的结果,然后执行相应的行为。

如下图所示:


注意点

1. 决策层可以设置为永远返回true,意义在于不去影响整个行为树的结果

2. 执行层依据决策的结果,去判断是否要执行某种行为,如果决策的结果不匹配任何行为,则返回false

3. 决策层,如果逻辑非常复杂,其实也可以不放在行为树里面,直接通过代码来集中处理也是可以的,会更加灵活

4. 执行层,只关心决策的结果,和具体的行为

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值