unity第三方插件behavior designer心得

一.组合节点打断功能

1.参数AbortType介绍

(1.None 无其他作用


(2.Lower Priority 打断右边

组合节点,完成执行后,在未返回到组合节点的父节点中(即执行到右边分支的过程中),会循环执行到的条件子节点(只有第一层的条件子节点会循环),当条件结果变化时,正在执行的任务会终止,并重新评估执行组合节点




(3.Self 打断子节点

组合节点,执行中,在未返回退出组合节点中(即在组合节点执行过程中),会循环执行到的条件子节点,当条件结果变化时,正在执行的任务会终止,并重新评估执行组合节点


(4.Both (打断右边和子节点)

类似Self和Lower Priority,不同的是:循环执行条件的范围同时包含了两者.

2.多重组合打断的嵌套

组合节点的子组合节点有打断时,子组合节点下应该循环的条件节点继续循环








3.条件执行节点

ConditionalEvaluator装饰节点也可以打断,功能类似Both,不同的是,它有控制循环的参数reevaluate true:执行时循环判定条件,不满足时终止子节点,false:不循环.


4.并行节点与并行选择节点

这两者的关系好比顺序节点和选择节点,
共同点:同时处理多个分支
不同点:并行节点是当一个分支返回失败时,打断终止其它分支并返回失败;
并行选择节点是当一个分支返回成功时,打断终止其它分支并返回成功;

5.PerformInterruption与Interrupt

PerformInterruption与Interrupt,也可以打断,两者组合控制可以完成在不同分支上的打断

二.节点优先级.

任务节点的优先级由重载public virtual float GetPriority();方法实现

三.行为树与脚本之间的数据同步

使用VariableSynchronizer脚本来同步行为树与行为树,行为树与脚本之间的数据

四.自定义节点时相关标签的用法

1.[RequiredField]   强制要求选择参数

2.[TaskDescription("??")]    定义节点描述,在编辑器中选择到节点时在下方提示出

3.[TaskCategory("??/??")]    定义节点在编辑器工具栏中的查找路径

4.[Tooltip("??")] 定义对节点参数的描述

五.相关BUG

1.BehaviorTreeReference节点,关闭了,实际运行时还是会引用到行为树,并执行子树.

2.尽量减少SharedGameObjectList的定义,有时会引起数据异常,解决的方式也很神奇,尝试将变量在类中定义的顺序作调整,可以解决.

            欢迎大家加群(475453656)交流

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cqqqq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值