11.创建 FindPlayer EQS

这是两个 场景查询 的简化版,其唯一的功能便是返回 AI 1500 个单位中所有 TopDownCharacters 的列表,并测试 AI 是否能看到 TopDownCharacters。如 AI 能看到,则为行为树设置 ActorToFleeFrom 节点。

有多种方法可完成此过程,每种方法均有其优点和缺点。使用 EQS 意味着我们稍后可进行额外测试,在逃跑时选择 最佳 敌人(TopDownCharacter)。

您会遇到的部分术语:

步骤

  1. 首先,在 内容浏览器 中双击 FindPlayer 场景查询 资源。

    findPlayerAsset.png

    此操作将打开 场景查询 编辑器,如下图所示:

    startingEQ.png

    场景查询编辑器的工作方式与行为树编辑器几乎完全相同。

  2. Update Graph 区域 单击右键,然后从 快捷菜单 中选择 ActorsOfClass

    createGetActors.png

    此操作将创建 ActorsOfClass 生成器,如下图:

    cga_made.png

  3. 从 Root 节点的底部拖动到 ActorsOfClass 节点的顶部即可在场景查询编辑器中连接节点,与行为树编辑器中的操作方法完全相同。

    connected.png

    每个场景查询只可拥有一个生成器。

  4. 下一步,选中 ActorsOfClass 节点进行设置,并修改其 Search RadiusSearched Actor Class 属性:

    aoc_details.png

    • Search Radius = 1500

    • Searched Actor Class = TopDownCharacter。

    此生成器将找到半径中特定类的所有 Actors,并从其创建项目。

  5. ActorsOfClass 节点添加一个 Trace 测试

    addTraceTest.png

    Trace 测试用于检查 Context 和项目之间是否存在视线,在此例中是检查 AI 是否能看到项目(TopDownCharacters/Players)

  6. 左键单击 ActorsOfClass 节点选择 Trace 测试,然后在 Details 面板中将 Bool Match 属性改为 false(取消勾选)

    aoc_TraceFinal.png

大功告成!