13. 创建装饰器

13. 创建装饰器

Windows
MacOS
Linux
本页面的内容

装饰器 即为其他行为树系统中的条件语句,附加到一个合成任务节点,并定义树中的一个分支或单个节点能否被执行。

AI的Pawn足够接近目标时,该 装饰器**将停止行为树“Rapid Move To”分支的执行。此操作可利用 Rapid Move To 任务中或使用 Move To** 任务进行处理,但该装饰器可获得任何Actor并阻止任何分支的执行。因此可在一系列情况下重复使用装饰器。

步骤

内容浏览器双击 打开FollowerBT行为树。 点击 新建装饰器(New Decorator) 按钮。

将在与行为树相同的文件夹中创建该装饰器。
  1. 内容浏览器 中将其重命名为“CloseEnough”。

  2. 此时编辑器应已将其打开以便编辑。若未打开,在 内容浏览器双击 打开。

  3. 在“我的蓝图(My Blueprint)”选项卡下的“函数(Functions)部分,“覆盖(Overide)”PerformConditionCheck

    override_button.png

  4. 在新函数中创建以下图表:

    Copy Example

    点击图片将其展开,或点击此处在窗口中打开。

    variables.png

    该蓝图的变量名、类型和数值:

    变量名

    类型

    数值

    AI_CON_Ref

    Follower_AI_CON_C

    AcceptableDistance

    浮点

    0.0——此变量的“可编辑”标签为 True,可在行为树中根据实例进行修改。

    TargetToFollow

    BlackboardKeySelector

    空——此变量的“可编辑”标签为 True,可在行为树中根据实例进行修改。

    因其为函数图表,若使用上方图表中的 代码片段,仅能获取图表的中央部分,将不会连接首尾两端的节点。只需依据图片所示连接节点便可正常工作。

  5. 当行为树根据条件命中一个节点时,事件 Receive Condition Check 将被发送至该蓝图。

  6. 保存 AI 控制器以便之后进行引用。

  7. 获取要追踪的Actor(玩家Pawn)。

  8. 获取该Actor和AI Pawn之间的距离。

  9. 若距离大于可配置量,则条件将返回 True。若小于可配置量,则返回 False,并阻止其所在行为树部分的执行。

此操作可避免行为树不断循环到 RapidMoveTo 又退出的行为。基本上而言,若其抓住玩家后便会停止行动。

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见