diff --git a/scene/3d/navigation_obstacle_3d.cpp b/scene/3d/navigation_obstacle_3d.cpp index 47e27c39772..f2b54b2b9f2 100644 --- a/scene/3d/navigation_obstacle_3d.cpp +++ b/scene/3d/navigation_obstacle_3d.cpp @@ -111,7 +111,7 @@ void NavigationObstacle3D::_notification(int p_what) { set_physics_process_internal(false); _update_map(RID()); #ifdef DEBUG_ENABLED - _update_debug(); + _clear_debug(); #endif // DEBUG_ENABLED } break; @@ -633,3 +633,14 @@ void NavigationObstacle3D::_update_static_obstacle_debug() { } } #endif // DEBUG_ENABLED + +#ifdef DEBUG_ENABLED +void NavigationObstacle3D::_clear_debug() { + RenderingServer *rs = RenderingServer::get_singleton(); + ERR_FAIL_NULL(rs); + rs->mesh_clear(fake_agent_radius_debug_mesh_rid); + rs->mesh_clear(static_obstacle_debug_mesh_rid); + rs->instance_set_scenario(fake_agent_radius_debug_instance_rid, RID()); + rs->instance_set_scenario(static_obstacle_debug_instance_rid, RID()); +} +#endif // DEBUG_ENABLED diff --git a/scene/3d/navigation_obstacle_3d.h b/scene/3d/navigation_obstacle_3d.h index f18f9356004..82b1a5ce26d 100644 --- a/scene/3d/navigation_obstacle_3d.h +++ b/scene/3d/navigation_obstacle_3d.h @@ -71,6 +71,7 @@ private: void _update_debug(); void _update_fake_agent_radius_debug(); void _update_static_obstacle_debug(); + void _clear_debug(); #endif // DEBUG_ENABLED protected: