导航寻路
2026/4/14大约 6 分钟
导航寻路
最后同步日期:2026-04-15 | Godot 官方原文 — Navigation
导航寻路系统让 AI 角色自动规划路线、绕开障碍物。
想象一下你用手机导航软件规划从家到公司的路线——导航寻路系统做的事情完全一样:它知道地图上哪里能走、哪里不能走,然后帮你算出一条最优路径。在游戏里,这个"地图"就是导航网格(NavigationMesh),"你"就是导航代理(NavigationAgent),"路障"就是导航障碍物(NavigationObstacle)。
节点继承关系图
下面这张图展示了导航寻路相关节点之间的"家族关系"——箭头从父类指向子类,表示"谁派生出谁":
节点列表
| 节点 | 描述 | 频率 |
|---|---|---|
| NavigationRegion2D | 定义2D可行走区域 | ★★ |
| NavigationRegion3D | 定义3D可行走区域 | ★★ |
| NavigationAgent2D | 2D自动寻路代理 | ★★ |
| NavigationAgent3D | 3D自动寻路代理 | ★★ |
| NavigationLink2D | 连接2D不连续区域 | ★ |
| NavigationLink3D | 连接3D不连续区域 | ★ |
| NavigationObstacle2D | 2D动态障碍物 | ★ |
| NavigationObstacle3D | 3D动态障碍物 | ★ |
节点选择指南
不知道该用哪个导航节点?跟着下面的流程图走一遍就知道了:
常见场景搭配
导航寻路很少单独使用,真实游戏场景中往往需要搭配其他类别的节点。下面按具体场景逐一展示典型的节点搭配结构。
塔防 / 波次防守
敌人沿固定路线行进,玩家在路线旁放塔防御。核心是 NavigationRegion 定义可行走区域 + PathFollow 控制敌人沿路径走。
RPG / NPC 巡逻
NPC 在村庄中自动巡逻,遇到玩家停下来对话。核心是 NavigationAgent 规划路线 + CharacterBody 做移动 + AnimationPlayer 播动画。
RTS / 即时战略
大量单位在大地图上独立寻路,需要 3D 导航 + 多人同步。核心是 NavigationRegion3D 大范围导航 + 每个单位独立 NavigationAgent3D。
过场 / 摄像机路线
摄像机沿预设曲线移动拍摄过场动画。核心是 Path 画出运动曲线 + PathFollow 沿路径移动 + AnimationPlayer 控制进度。
