Position gizmo doesn't behave like I expected

Trying to understand here. When I have a gizmo attached to a mesh, after I rotate the mesh, I then swap to the position gizmo and drag it on one axis (for example the ‘x’ arrow).

The mesh position then changes (of course) but I expect it to only change in the x axis(?).

I am assuming the rotation is applied before the position, so the position gizmo is working in local coordinates(?)

I am trying to get a rotation and position from the moved mesh so I can apply it elsewhere, but I don’t know why I am getting changes in 2 axis.

So

  1. I rotate the mesh around the x axis.
  2. I move the mesh along the y axis.
  3. I expect the meshs rotation to the change in x only and the position to be changed in y only.
    what am I getting wrong here?

Testing it on the default scene playground, the gizmo operates on the current node transformation, so if you have some rotation it will be taken into account and the Y translation will be done in the rotated coordinate system.

cc @Cedric, maybe there are some options to Gizmo to change this behavior.

Thanks for the info - I actually solved my problem by re-organising things a bit - all works great now.

1 Like