Jelajahi Sumber

Merge pull request #60194 from V-Sekai/node_3d_gizmo_fix

Rémi Verschelde 3 tahun lalu
induk
melakukan
e44aa166f0
2 mengubah file dengan 4 tambahan dan 10 penghapusan
  1. 3 1
      editor/plugins/node_3d_editor_plugin.cpp
  2. 1 9
      scene/3d/node_3d.cpp

+ 3 - 1
editor/plugins/node_3d_editor_plugin.cpp

@@ -7120,7 +7120,9 @@ void Node3DEditor::_request_gizmo(Object *p_obj) {
 				}
 			}
 		}
-		sp->update_gizmos();
+		if (!sp->get_gizmos().is_empty()) {
+			sp->update_gizmos();
+		}
 	}
 }
 

+ 1 - 9
scene/3d/node_3d.cpp

@@ -181,15 +181,6 @@ void Node3D::_notification(int p_what) {
 #ifdef TOOLS_ENABLED
 			if (Engine::get_singleton()->is_editor_hint() && get_tree()->is_node_being_edited(this)) {
 				get_tree()->call_group_flags(0, SceneStringNames::get_singleton()->_spatial_editor_group, SceneStringNames::get_singleton()->_request_gizmo, this);
-				if (!data.gizmos_disabled) {
-					for (int i = 0; i < data.gizmos.size(); i++) {
-						data.gizmos.write[i]->create();
-						if (is_visible_in_tree()) {
-							data.gizmos.write[i]->redraw();
-						}
-						data.gizmos.write[i]->transform();
-					}
-				}
 			}
 #endif
 		} break;
@@ -427,6 +418,7 @@ void Node3D::update_gizmos() {
 	}
 
 	if (data.gizmos.is_empty()) {
+		get_tree()->call_group_flags(0, SceneStringNames::get_singleton()->_spatial_editor_group, SceneStringNames::get_singleton()->_request_gizmo, this);
 		return;
 	}
 	if (data.gizmos_dirty) {