Browse Source

Merge pull request #37161 from simpuid/positon-gizmo-fix

Fixes transform gizmo position when node has default transform
Rémi Verschelde 5 years ago
parent
commit
7ed9da0a54

+ 2 - 1
editor/plugins/spatial_editor_plugin.cpp

@@ -2419,9 +2419,10 @@ void SpatialEditorViewport::_notification(int p_what) {
 			Transform t = sp->get_global_gizmo_transform();
 			Transform t = sp->get_global_gizmo_transform();
 
 
 			exist = true;
 			exist = true;
-			if (se->last_xform == t)
+			if (se->last_xform == t && !se->last_xform_dirty)
 				continue;
 				continue;
 			changed = true;
 			changed = true;
+			se->last_xform_dirty = false;
 			se->last_xform = t;
 			se->last_xform = t;
 
 
 			VisualInstance *vi = Object::cast_to<VisualInstance>(sp);
 			VisualInstance *vi = Object::cast_to<VisualInstance>(sp);

+ 5 - 1
editor/plugins/spatial_editor_plugin.h

@@ -482,10 +482,14 @@ public:
 	Transform original; // original location when moving
 	Transform original; // original location when moving
 	Transform original_local;
 	Transform original_local;
 	Transform last_xform; // last transform
 	Transform last_xform; // last transform
+	bool last_xform_dirty;
 	Spatial *sp;
 	Spatial *sp;
 	RID sbox_instance;
 	RID sbox_instance;
 
 
-	SpatialEditorSelectedItem() { sp = NULL; }
+	SpatialEditorSelectedItem() {
+		sp = NULL;
+		last_xform_dirty = true;
+	}
 	~SpatialEditorSelectedItem();
 	~SpatialEditorSelectedItem();
 };
 };