瀏覽代碼

Merge pull request #101728 from smix8/obstacle_exit

Fix NavigationObstacle3D debug clear regression
Thaddeus Crews 7 月之前
父節點
當前提交
4fb4f05b48
共有 2 個文件被更改,包括 13 次插入1 次删除
  1. 12 1
      scene/3d/navigation_obstacle_3d.cpp
  2. 1 0
      scene/3d/navigation_obstacle_3d.h

+ 12 - 1
scene/3d/navigation_obstacle_3d.cpp

@@ -116,7 +116,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;
 
@@ -710,3 +710,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

+ 1 - 0
scene/3d/navigation_obstacle_3d.h

@@ -74,6 +74,7 @@ private:
 	void _update_debug();
 	void _update_fake_agent_radius_debug();
 	void _update_static_obstacle_debug();
+	void _clear_debug();
 #endif // DEBUG_ENABLED
 
 protected: