项目笔记N-209
状态变为执行
- 更新
- 内容块
- 16
- 阅读
- 约 1 分钟
- 路径
- 项目笔记 / CS / 2026.7.7 / AI 模组
执行层如何把意图变成动作
executeBotIntent() 是动作分发器:
Engage -> engageEnemy()
TakeCover -> moveToCover()
Plant -> executePlant()
Defuse -> executeDefuse()
PostPlantHold -> executePostPlant()
Search/Rotate -> followObjective()
Repath -> 重建路线
Hold/Take/Lurk -> executeTacticalRoute()这相当于行为树叶子节点的 Action。
重要的是:选择意图和执行意图是分开的。selectBotIntent() 只回答“做什么”,executeBotIntent() 才回答“怎么做”。
统一移动链路:`followObjective()`
许多高级行为最终都落到同一条移动链路:
目标位置 objective
-> 找最近可达导航节点 nearestReachableNode()
-> 找目标节点 nearestNode()
-> BFS 路径 findPath()
-> 平滑路径 smoothPathFrom()
-> 每帧走向 route[routeIndex]
-> steerToTarget()
-> preAimObjective()这条链路用于:
- •下包前移动到包点
- •拆包前移动到炸弹
- •搜最后敌人位置
- •回防
- •找掩体
- •战术推进
统一链路的意义是:不要让每个行为各写一套移动。否则会出现“对枪会走路、拆包直线撞墙、捡包不会绕路”这种问题。