项目设置与 Blackboard

GAIS_Cover
YuewuDev

作者

YuewuDev

创建时间: 2026年10月12日更新时间: 2026年10月12日

目录

项目设置与 Blackboard

说明 GenericAISystem 中项目设置与 Blackboard的职责、使用场景、关键字段与误配风险。

相关文档:接入流程见 接入 StateTree 与 Blackboard,队伍策略字段见 队伍身份与调试参数。

UGAIS_DeveloperSettings

参数

用途

何时调整

误配风险

ProjectPolicyClass

指定项目级 GAIS 策略 CDO,主要用于队伍身份查询/写入。

项目已有自己的阵营或队伍系统时。

不设置时使用默认策略;如果项目真源不在默认查询路径中,队伍过滤会失效。

StateTreeLayerHierarchy

定义 StateTree Stack 层级优先级,数组越靠后优先级越高。

项目需要新增 Squad、Alert、Scripted 等行为层时。

Command 层必须保持最高优先级;层级混乱会导致命令覆盖或回退不符合预期。

DebugOverlayOffset

Debug Overlay 文本相对 Actor 的世界空间偏移。

PIE 中文本遮挡角色或位置太低/太高时。

只在 Editor/debug drawing 构建条件下可用;不要当 Shipping UI 配置。

DebugOverlayFontScale

Debug Overlay 字体缩放。

需要更清楚地看 StateTree 状态文本时。

过大容易遮挡其它本地 HUD 调试信息。

DebugOverlayColor

Debug Overlay 文本颜色。

多系统本地调试时区分 GAIS 文本。

颜色只影响本地绘制,不代表复制状态。

DebugOverlayPawnClassFilters

可选 Pawn 类过滤器。

只想显示某类 Pawn 的 StateTree 文本时。

Controller 会先解析到 Pawn;过滤器过窄会让文本看似没注册。

BlackboardKey_CommandDefinition

StateTree 中读取命令定义的 Key。

Blackboard 命名规范不同于默认值时。

Key 不一致会导致命令 StateTree 无法读取命令类型。

BlackboardKey_CommandIndex

读取 MultiVariant Index。

使用多变体命令时。

Index 丢失会让单位执行错误变体或退回默认行为。

BlackboardKey_CommandRange

读取命令所需范围。

StateTree 需要根据距离进入不同状态时。

范围 Key 错误会让接近/攻击/停止判断失真。

BlackboardKey_HomeLocation

读取命令发起时的 home location。

命令需要返回、保持阵地或计算相对目标时。

缺失时回撤和阵地行为可能没有参考点。

BlackboardKey_SelfActor

读取执行命令的 Actor。

StateTree Task 需要访问自身 Actor 时。

外部数据解析失败。

BlackboardKey_TargetActor

读取目标 Actor。

Actor target 命令和战术分配常用。

TargetType 为 Actor 时无法执行目标逻辑。

BlackboardKey_TargetLocation

读取目标位置。

Location 或 Actor+Location 命令常用。

位置命令无法移动到正确点。

BlackboardKey_HasLocation

判断 TargetLocation 是否有效,默认 key 名为 bHasLocation。

命令既可能有 Actor 又可能有位置时。

误把零向量当成有效目标,或让位置型命令被当成无位置命令。

调整建议

先使用默认 Key 跑通最小命令,再按项目 Blackboard 命名统一修改。修改后同时检查 StateTree Evaluator、Task 和 Blackboard 资产。