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?