EQS 的性能与常见坑

EQS 用不好会从"智能利器"变成"性能黑洞"。这一节给出控制成本的清单。

性能成本来自哪里

来源 说明 控制手段
候选点数量 乘在所有测试上 设上限、加大间距、缩小半径
Trace 测试 每点一次射线检测 过滤先剔除大多数点再 Trace
Path 测试 每点一次寻路 慎用;做不到必要时用直线距离近似
查询频率 每 AI 多久跑一次 缓存与降频(2~5 秒一次)

经验法则:单次查询的候选点控制在 100~200 以内;有 Trace 的查询先过滤。一次合格的查询应该在 1ms 内完成。

五个常见坑

坑 表现 解法
忘了设数量上限 偶发卡顿(生成器随半径指数扩展点数) 生成器属性里勾选并设置 MaxPoints
过滤与权重用反 要么没候选点、要么站位平庸 必要条件用过滤
Path 测试滥用 AI 决策延迟明显 用 Distance 近似或减少频率
结果不缓存 每帧重查 查询结果写黑板 + 使用期标记(如 3 秒内不重查)
查询在编辑器正常打包失效 配置依赖未烘焙数据 打包后实测(第 1 章的教训)

EQS 与智能对象(Smart Objects)的配合

EQS 找"几何上最好的点",但有些位置本质是"设计出来的点"(可坐的椅子、可操作的炮台)。这类用智能对象更合适:智能对象提供点 + 关联的玩法标签,AI 按标签匹配。两者不冲突:EQS 用于开放空间的战术决策,智能对象用于场景设计的交互点。

智能对象是另一套体系,感兴趣可从官方的智能对象文档入手,本书不再展开。

一句话总结 EQS

它是 AI 的"空间推理":把复杂的站位偏好变成可调、可视、可缓存的数据。 用好它,AI 的战术感会立刻上一个台阶;但务必记住它是"每隔几秒想一次"的工具,不是每帧的实时系统。