Behaviour Tree Service 中的几个函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Behaviour Tree Service 中的几个函数相关的知识,希望对你有一定的参考价值。

Service中可以override的函数有8个,因为每个函数都有个AI版本的,所以实际上是4组函数,AI版本的和非AI版本基本一样,

他们分别是:

Receive Search Start (AI)

Receive Activation (AI)

Receive Tick (AI)

Receive Deactivation (AI)

我们以下图为例:

技术分享

这个分支是一个Sequence,会持续循环执行下方四个任务,直到条件不满足退出。

当执行到该分支时,会触发Service的Search Start AI 和 Activation AI.

当执行完一个循环(图中任务4执行完成,又回到任务1),进行第二次循环时,又会触发Activation AI,但不会触发Search Start AI,Search Start AI只有在离开这个分支,又重新进入这个分支时会再次触发。这是这两个事件的一个重要区别。

执行过程中,按照Behaviour Tree中指定的该服务的执行频率(例如上图中是0.2秒一次, tick every 0.20s),每执行一次Service会触发一次Receive Tick

Receive Deactivation则和Receive Activation 相对应,是没执行完一次循环后调用。

综合看下来,实际上缺少一个和Receive Search Start (AI)想对应的函数,即离开整个分支时执行的函数。也许是Epic认为没有必要吧,我在实践中也确实没有遇到这个需求。

以上是关于Behaviour Tree Service 中的几个函数的主要内容,如果未能解决你的问题,请参考以下文章

GameObject:activeInHierarchyactiveSelf Behaviour:enabled

Behaviour-Driven Development from Cucumber

带有appbar_scrolling_behaviour的appbar下方的BottomSheet

如何从已弃用的 Supervisor.spec 更新为新的 Supervisor.behaviour?

Authentication cookies in ZScaler & its behaviour

Unity笔记Behaviour Designer的使用方法