Environment Query System 是虚幻引擎AI系统中的重要工具
首先EQS利用Generator(生成器) 生成一些点
然后对这些点进行一些测试和评估
满足条件的那些点 即可作为AI角色要前往的位置
1.创建EQS
2.Generator
EQS Generator可以生成一系列点 以供测试使用
点的分布有网格、环形、柱形 …
生成的这些点称为Item(项目)
3.EQSTestPawn
蓝图创建EQSTestPawn 以可视化生成的点
4.Env Query Context
Context 是EQS生成点的原点 也就是说从什么位置开始查询
它可以是Querier 即发起查询者的位置
也可以是更复杂的 比如目标角色的位置、所有特定Actor类的实例、角色的运动轨迹…
5.Test
对生成的点进行测试
首先Filter:过滤掉不符合条件的点
然后Score:评估点的权重 给点打分
分数高的点会优先使用 用作AI的位置
Distance : 根据到某点的距离打分
PathFinding:根据是否能找到路径评分
…
6.运行EQS
在行为树中使用Run EQS Query节点 即可运行EQS
Run Mode:
- Single Best Item :选择最优的点
- Single Best Item from Best 5%: 从前5%中随机选一个点
- Single Best Item from Best 25%: 从前25%中随机选一个点
- All Matching :选择所有满足的点 需要后续再进行筛选
运行之后 将得到的结果保存在指定的黑板键中
7.自定义Query Context
可以自定义Query Context 返回自己想要的位置或Actor
-
创建
蓝图搜索Query Context
选择EnvQueryContext_BlueprintBase
-
覆盖其中的函数
- 示例
从黑板键中获得目标角色并返回