导航调试工具
备注
调试工具、调试属性、调试函数都只在调试版本的 Godot 中可用,请勿在发布版本的代码中使用。
启用调试导航
默认情况下,导航调试可视化在编辑器中启用。若要在运行时可视化导航网格和连接,请在编辑器的调试菜单中启用选项显示导航。

在 Godot 调试构建中,导航调试也可以通过脚本中的 NavigationServer 单例进行切换。
NavigationServer2D.set_debug_enabled(false)
NavigationServer3D.set_debug_enabled(true)
NavigationServer2D.SetDebugEnabled(false);
NavigationServer3D.SetDebugEnabled(true);
调试可视化目前基于 SceneTree 中的节点。如果仅使用 NavigationServer2D 或 NavigationServer3D API,则调试导航工具不会反映更改。
导航调试设置
导航调试的外观可以在 debug/shapes/navigation
下的 ProjectSettings 中更改。某些调试功能也可以随意启用或禁用,但可能需要重新启动场景才能生效。

调试导航网格多边形
如果启用了 enable_edge_lines
,则导航网格多边形的边将高亮显示。如果还启用了 enable_edge_lines_xray
,则导航网格的边将通过几何体可见。
如果启用了 enable_geometry_face_random_color
,则每个导航网格面的颜色将与随机颜色混合,该随机颜色本身与 geometry_face_color
中指定的颜色混合。

调试边缘连接
当两个 navigation 网格在 edge_connection_margin
距离内连接时,连接被覆盖。覆盖层的颜色由 edge_connection_color
控制。可以使用 enable_edge_connections_xray
使连接通过几何图形可见。


备注
只有当 NavigationServer 处于活动状态时,边缘连接才可见。
调试性能
测试 NavigationServer 的性能可以在“编辑器调试器”中的 调试器->监视->导航处理 下找到一个专用监视器。

“导航处理”以毫秒为单位显示本次更新帧中 NavigationServer 进行内部更新的时间。“导航处理”的工作原理类似于视觉帧渲染过程和碰撞和固定更新的物理过程。
“导航处理”统计的是对导航地图、导航区块和导航代理的所有更新,以及更新帧中的所有避障计算。
备注
“导航处理”不包括寻路性能,因为寻路操作独立于服务器进程更新的导航地图数据。
一般情况下,“导航处理”应尽可能保持低的运行时性能和稳定,以避免帧速率问题。请注意,由于 NavigationServer 处理过程的更新发生在物理更新的中间,因此“导航处理”的增加将自动使物理进程增加相同的量。
导航还提供了关于目前导航相关物件和 NavigationServer 上导航地图组成的更详细的统计数据。

此处显示的导航统计数据无法判断性能的好坏,因为它完全取决于项目什么可以被认为是合理的或严重过度的。
导航统计信息有助于识别不太明显的性能瓶颈,因为来源可能并不总是具有可见的表示形式。例如,由具有数千个边/多边形的过于详细的导航网格所建立的寻路性能问题,或由程序导航出错所引起的问题。