项目空间

项目笔记N-209

状态变为执行

更新
内容块
16
阅读
约 1 分钟
路径
项目笔记 / CS / 2026.7.7 / AI 模组

执行层如何把意图变成动作

executeBotIntent() 是动作分发器:

代码块Plain Text
Engage          -> engageEnemy()
TakeCover       -> moveToCover()
Plant           -> executePlant()
Defuse          -> executeDefuse()
PostPlantHold   -> executePostPlant()
Search/Rotate   -> followObjective()
Repath          -> 重建路线
Hold/Take/Lurk  -> executeTacticalRoute()

这相当于行为树叶子节点的 Action。

重要的是:选择意图和执行意图是分开的。selectBotIntent() 只回答“做什么”,executeBotIntent() 才回答“怎么做”。

统一移动链路:`followObjective()`

许多高级行为最终都落到同一条移动链路:

代码块Plain Text
目标位置 objective
  -> 找最近可达导航节点 nearestReachableNode()
  -> 找目标节点 nearestNode()
  -> BFS 路径 findPath()
  -> 平滑路径 smoothPathFrom()
  -> 每帧走向 route[routeIndex]
  -> steerToTarget()
  -> preAimObjective()

这条链路用于:

  • •下包前移动到包点
  • •拆包前移动到炸弹
  • •搜最后敌人位置
  • •回防
  • •找掩体
  • •战术推进

统一链路的意义是:不要让每个行为各写一套移动。否则会出现“对枪会走路、拆包直线撞墙、捡包不会绕路”这种问题。