← ALL ARTICLES
游戏AI6 MIN READ

游戏AI导航

全库目录221
本文目录33

导航系统把可行走空间转换为身体实际能够执行的运动。本文提供流程与专题入口;各项计算在对应主归属展开。

阅读阶段专题入口输入与结果
空间与身体尺度NavMesh场景几何、体型和单位生成可通行区域
目标与路径采用导航目标投影交互目标与查询快照生成通过版本检查的走廊
转向与提前制动路径跟随门户序列生成折点、圆弧和速度上限
坡面、避障与边界移动支撑与速度反馈速度候选与支撑运动生成可检查的连续轨迹
路线失效路径跟随门、瓦片和连接变化触发制动或重新规划
实际反馈与保持导航动作交接碰撞后的姿态与速度决定到达、纠偏和资源释放

搜索算法实现见图搜索,身体扫掠见Character Controller,动作发起与取消见游戏AI决策模型。各专题沿导航数据与运动交接连接这三个层次。

守卫从房间追到走廊,经过窄门时遇到迎面角色,门随后关闭。导航先根据身体半径生成可行走空间,为守卫搜索走廊,再把走廊转换成受制动和避障约束的移动请求。门关闭改变连通关系,旧路线停止派发,控制器完成制动后才接纳新路线。各专题沿这条过程解释几何、速度和异步交接。守卫半径为0.4米,门D在查询Q7时处于开启版本8;查询得到候选走廊以后,还要经过采用、路线跟随和控制器接纳,才会产生实际移动。

可行走空间

见NavMesh。

可行走空间表示

见NavMesh。

见NavMesh。

世界空间与缩放

见NavMesh。

导航烘焙的数据交接

见NavMesh。

路径与移动执行

见导航目标投影。

A* 与启发函数

导航把多边形邻接、门与网格外连接交给A*,边代价表示本次查询采用的距离、时间或地形成本。启发式按这些代价构造下界,传送连接也参与判断。估价公式、重开节点、网格距离与过期堆条目的处理统一见图搜索。

调试视图同时显示读取的连接、已访问节点、父节点和最终路径成本。查询成功以后还要经过走廊几何、速度规划与身体执行,图上可达只完成其中一层判断。

搜索实现与导航约束

完整堆更新与重开节点实现见 图搜索。导航把可行走连接与区域代价输入搜索,结果再进入走廊与漏斗;扩展节点数和路线成本分别记录。

交互目标与导航投影

见导航目标投影。

连续区域的数值推演

见导航目标投影。

查询快照与采用

见导航动作交接。

路线几何与速度规划

见路径跟随。

路径走廊与漏斗

见路径跟随。

漏斗的索引与转角提交

见路径跟随。

折点、圆弧与速度上限

见路径跟随。

运动约束与坡面交接

见移动支撑与速度反馈。

坡面速度与控制器消费

见移动支撑与速度反馈。

支撑旋转与速度变化

见移动支撑与速度反馈。

位移与步末速度

见移动支撑与速度反馈。

局部避障

见局部避障。

速度约束的几何例子

见局部避障。

二维速度约束构造

见局部避障。

多约束求解与可达速度

见局部避障。

走廊边界与速度求交

见导航边界与坡面交接。

移动支撑与边界参考系

见导航边界与坡面交接。

坡面边界与实际交接

见导航边界与坡面交接。

接入中断与恢复

见导航边界与坡面交接。

到达与阻塞反馈

见路径跟随。

走廊版本与可执行性

见路径跟随。

控制器反馈与动作交接

见导航动作交接。

站位保持与位置纠偏

见导航动作交接。

保持所有权与模式交接

见导航动作交接。

路线失效与取消

见导航动作交接。

调试与边界

见导航动作交接。

验证方法

  • A* 最优性:固定图、边代价和起终点,对比 Dijkstra 与可采纳启发函数的 A*。路径成本必须相等;不同的最优路径可以有相同成本。
  • 启发函数分档对比:h=0h=0、精确 hh、加权 hh 各跑一次,记录扩展节点数与路径成本,确认加权换来的速度提升幅度与最优性损失。
  • NavMesh 体检:在预期可行走测试区域采样,再比较地面命中与 NavMesh 覆盖;障碍与不可达区域按标记预期排除;沿多边形边随机采样做胶囊扫掠,确认没有穿墙缺口。
  • 烘焙参数回归集:固定一组测试关卡(窄门、台阶、斜坡、断桥),每次改参数跑一遍并对比连通区域截图。
  • 漏斗正确性:输出路径的每一段必须完全位于走廊多边形并集内,将线段与门户及多边形边界求交,检查整段覆盖;端点或有限采样点在内部只是辅助检查。
  • 避障压测三场景:对称迎面、窄门对冲、环形围堵,固定种子运行并统计死锁次数与平均绕行时间,作为避障参数的回归基线。
  • 分帧调度下统计单帧寻路耗时峰值,超预算时确认是扩展节点上限生效还是请求被直接截断。

实现与证据

各专题分别说明来源核读、公式推演与实际运行范围。本文的链接检查只验证入口存在,完整角色、碰撞和群体行为按专题中的验证方法检查。

相关主题

参考资料

  • RVO2 Agent.cc:2026-10-23核读动态邻居速度障碍、责任半平面及多约束求解;局部避障的候选枚举器是独立推导的低规模参考方案。

  • Recast rcConfig:cs、ch使用世界单位,walkableClimb、walkableRadius使用体素单位,水平面为XZ;2026-10-24复核。世界单位取米、缩放几何重建与源版本失效规则是NavMesh的接入契约。

  • Recast Navigation:体素化、侵蚀、区域与多边形生成;2026-10-22核读。

  • Mononen:Simple Stupid Funnel Algorithm:原作者门户漏斗算法。

  • ORCA:Reciprocal n-body Collision Avoidance原项目页。