配置EQS
核心作用:根据条件,帮助AI筛选当前环境中的最优点
原理:EQS启用后会生成候选点/对象,由评分系统为每个符合条件的候选打分,由AI根据打分进行选择
评分系统绑定在测试条件(Tests)




候选项生成器(Generators)
确定候选类型(位置/Actor),确定候选范围/形状,绑定候选来源
1.Actor of Class(候选Actor)
从场景中提取所有属于指定类的Actor作为原始候选,通过Tests和评分系统选择AI需要的最优Actor

===细节面板===

Searched Actor Class
指定要搜索的目标Actor类别
Generate Only Actors in Radius
如为true,其只返回SearchCenter情境SearchRadius中指定类的actor。如为false,其将返回场景中指定类的所有actor。
Search Radius
搜索半径
Search Center
指定搜索中心
2.Composite(组合器)
合并其他生成器的候选结果,让EQS同时获取不同来源/类型的候选对象
如同时筛选出友军Actor以及安全位置

===细节面板===

Generators
添加要组合的子生成器列表

Allow Different Item Types
是否允许合并不同类型候选
勾选:可同时组合Actor生成器和位置生成器
不勾选:只能组合同类型候选
Forced Item Types
强制将所有子生成器的候选转换为指定类型

3.Current Location(候选位置)

生成发起EQS查询的对象当前所在位置的候选点(即查询者所在位置)
===细节面板===

Query Context
指定哪个对象的当前位置作为候选点
None 无效(必须指定对象)
EnvQueryContext_Item 仅用于组合器
EnvQueryContext_Querier 发起查询对象的当前位置为候选点

4.Perceived Actors(候选Actor)
(使用此生成器需启用AI感知组件)
直接复用AI感知组件的结果,生成AI已感知到的Actor作为候选

===细节面板===

AllowedActorClass
限制只保留特定类的感知Actor
SearchRadius
额外限制感知Actor的范围
(默认-1代表不额外限制,直接使用AI感知组件的范围)
ListenerContext
指定哪个对象的感知组件
SenseToUse
只保留特定感知类型
(None则包含所有感知类型)

IncludeKnownActors
是否包含曾感知到,现刺激消失但未遗忘Actor
勾选:包含已感知但当前无刺激Actor
不勾选:仅包含当前有感知刺激的Actor
5.Points:Circle(候选位置)
以指定中心为圆心,生成圆形区域内均匀分布的候选点

===细节面板===


--基础圆形参数--
-Circle Radius-
圆心到候选点的半径
-Space Between-(二选一)
候选点之间的间距
-Number Of Points-(二选一)
生成候选点的总数
-Point on Circle Spacing Method-
上面两种点分布方案的选择器
--扇形范围参数--(*与Arc相关的功能必须启用ArcDirection)
启用后此区域参数才会生效
启用后,此生成器将改为生成指定大小的扇形区域候选点

-Arc Direction-
-Mode-
1.TwoPoints

以LineFrom和LineTo两点连线,作为扇形中心线方向,向两侧扩展ArcAngle/2的扇形范围
2.Rotation

通过某个对象的面朝方向作为扇形的中心线基准
-Arc Angle-(启用ArcDirection后生效)
候选点的扇形角度范围
--中心与偏移参数--
-Circle Center-
圆形的中心位置
-Ignore Any Context Actors when Generating Circle-
生成点时是否避开上下文Actor
-Circle Center ZOffset-
圆心的Z轴偏移量
--有效性检测参数--(Trace Data)
-Trace Mode-
候选点有效性检查

-None-
不执行有效性检测(不推荐)
-Navigation-
检测候选点是否在NavMesh上,确保可达
-Geometry by Channel-
按碰撞通道检测,确保候选点在有对应碰撞的实体上
(忽略NavMesh)
-Geometry by Profile-
按碰撞配置文件检测,如用Pawn的碰撞配置文件
-Navigation Over Ledges-
检测是否在NavMesh上同时允许点处于NavMesh的边缘/台阶区域(普通Navigation会过滤边缘点)
-Navigation Filter-
导航过滤

-None-
不启用过滤
-NavFilter_AIControllerDefault-
UE默认的AI Controller导航过滤器
自动被标记为不可通向的区域
-RecastFilter_UseDefaultArea-
基于Recast导航系统的默认区域过滤器
-Extent X-
检测范围扩展量
稍微扩大检测范围,避免因为点的位置稍微偏移NavMesh而被误判为无效
--投影数据--(Projection Data)
-Trace Mode-
控制候选点的垂直投影逻辑,把生成的候选点(可能处于空中)“投射”到场景的有效表面(比如地面、NavMesh),避免点悬空,确保AI能实际站在点上

6.Points:Cone(候选位置)

===细节面板===
7.Points:Donut(候选位置)

===细节面板===
8.Points:Grid(候选位置)

===细节面板===
9.Points:Pathing Grid(候选位置)

===细节面板===
添加测试(Tests)
负责筛选候选对象(如排除不在NavMesh上的点、过滤无遮挡的掩体)
1.Distance
2.Dot
3.Gameplay Tags
4.Overlap
5.Pathfinding
6.Pathfinding Batch
7.Project
8.Trace
9.Volume
TestPawn 测试角色
仅用于创建后放入场景展示EQS效果,不参与Gameplay





37

被折叠的 条评论
为什么被折叠?



