Bläddra i källkod

Merge pull request #90183 from stevenjt/fix-gizmo-on-top-material-option

Fix gizmo on top material option having no effect
Rémi Verschelde 1 år sedan
förälder
incheckning
5eadb88596
1 ändrade filer med 4 tillägg och 3 borttagningar
  1. 4 3
      editor/plugins/node_3d_editor_gizmos.cpp

+ 4 - 3
editor/plugins/node_3d_editor_gizmos.cpp

@@ -979,10 +979,11 @@ Ref<StandardMaterial3D> EditorNode3DGizmoPlugin::get_material(const String &p_na
 
 
 	Ref<StandardMaterial3D> mat = materials[p_name][index];
 	Ref<StandardMaterial3D> mat = materials[p_name][index];
 
 
-	if (current_state == ON_TOP && p_gizmo->is_selected()) {
+	bool on_top_mat = mat->get_flag(StandardMaterial3D::FLAG_DISABLE_DEPTH_TEST);
+
+	if (!on_top_mat && current_state == ON_TOP && p_gizmo->is_selected()) {
+		mat = mat->duplicate();
 		mat->set_flag(StandardMaterial3D::FLAG_DISABLE_DEPTH_TEST, true);
 		mat->set_flag(StandardMaterial3D::FLAG_DISABLE_DEPTH_TEST, true);
-	} else {
-		mat->set_flag(StandardMaterial3D::FLAG_DISABLE_DEPTH_TEST, false);
 	}
 	}
 
 
 	return mat;
 	return mat;