這一篇在講什麼
導航系統決定了 AI 能不能走、願不願意走,以及在哪些地方該繞路或跳躍。這一篇把場景裡最常碰到的導航元件和調整方式集中整理。
導航系統 Navigation
Nav Mesh Bounds Volume
- Add Object -> Volumes -> Nav Mesh Bounds Volume
- 生成具體的尋路區,物體需要包裹住整個需要生成導航網格的區域

- 按P預覽尋路區域(RecastNavMesh-Default)

- 其他具體的網格生成配置可在ProjectSettings -> Navigation Mesh -> Generation區裡找到,如Agent Slope(可爬斜度)、CellSize(網格大小)等等
Nav Modifier Volume
- Add Object -> Volumes -> Nav Modifier Volume
- 修改網格的尋路成本cost,使其cost更高/更低,可用於微調尋路區域
- ProjectSettings -> Navigation Mesh -> Draw Polygon Costs可顯示網格尋路的Cost
- Area Class
- Default 沒有任何影響
- Low Height 足夠矮的AI可以通過
- Null Volume範圍的網格會直接被裁切掉,不能在上面尋路
- Obstacle 高成本區域,在其為唯一通路時才可行
- 可使用自定義Modifier

動態 Modifier
- 前置
- Project settings -> Navigation Mesh -> Runtime Generation => Dynamic Modifiers Only
- 途徑1: 給物體增加Collision Area
- Collision Area -> Navigation
- Dynamic Obstacle => true
- Use System Default Obstacle Area => false
- Area Class Override => 選擇對應的Area Class
- Collision Area -> Navigation

- 途徑2: 給物體添加NavModifier組件,然後Modifier會直接合併所有物體的Overlap Area作為NavArea區域
- Area Class => 選擇對應的Area Class

自定義 Area Class
- 創建繼承至NavArea的藍圖類
- 可定義參數

- Default Cost 通過成本
- Fixed Area Entering Cost 進入後的通過成本
Nav Link Proxy
- Add Object -> All Classes -> Nav Link Proxy
- 創建點與點之間的連接,可以實現高低處跳躍/跨越特定鴻溝的功能
