11. 创建服务

第11步. 创建服务

Windows
MacOS
Linux
本页面的内容

服务 附加在合成节点上,所属分支被执行时其将以自身定义的频率执行。它们常用于进行检查和更新黑板,取代了其他行为树系统中的传统平行节点。

在本例中,服务节点将寻找非AI角色的 Pawn,然后设置TargetToFollow和 TargetLocation黑板键。

步骤

  1. 内容浏览器(Content Browser)双击 打开FollowerBT行为树。

  2. 点击 新建服务(New Service) 按钮。

    将在与行为树相同的文件夹中创建该任务。

  3. 内容浏览器 中将其重命名为“AgroCheck”。

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

  5. 创建如下图表:

    Copy Example

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

    variables.png

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

    变量名

    类型

    默认值

    DesiredObjectTypes

    EObjectTypeQuery类型阵列

    一个元素设为 Pawn

    MyLocation

    Vector 3

    0,0,0

    AI_CON_Ref

    Follower_AI_CON_C

    TargetToFollow

    BlackboardKeySelector

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

    TargetLocation

    BlackboardKeySelector

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

变量 DesiredObjectTypes 是单个元素设为 PawnEObjectTypeQuery 类型阵列。要进行此设置,首先在“我的蓝图(My Blueprint)”面板中选择 DesiredObjectTypes 变量,然后在“细节面板(Details Panel)”中的“默认值(Default Value)”目录下,点击plus_button.png按钮添加一个元素。使用元素上的下拉列表,选择 Pawn

如“默认值(Default Value)”类目中无内容显示,请对蓝图进行编译。

以下是该图表中将执行的操作:

  1. 事件Tick(Event Tick) 的工作原理与Actor中的相同,不同之处是其以行为树中定义的频率被tick。

  2. 递入的 拥有者Actor(Owner Actor) 固定为调用行为树的控制器,先对其进行保存。但仅在未保存时才需要进行此操作,以减少投射节点带来的开销。

  3. 基于受控Pawn位置,对Object执行多球体追踪,减去受控Pawn后获得所有Pawn。

  4. 针对每个 循环将查验玩家是否被击中。

  5. 若被击中,则执行可视性追踪,以确认AI Pawn是否能看到玩家Pawn。

  6. 若能看到,在黑板物体上设置AI Pawn的正确值(追踪的目标目标位置)。

  7. 若无法看到,则清除黑板上的 追踪的目标 键。

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

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

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

发表反馈意见