Fixes transform gizmo position when node has default transform
Changes made: * Added dirty bit for SpatialEditorSelectedItem's last_xform * SpatialEditorViewport checks that dirt bit too before skipping the selection
This commit is contained in:
parent
cf50ee4fa4
commit
19825436d4
|
@ -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);
|
||||||
|
|
|
@ -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();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue