Locking axis not the same as restricting them. Why?

Hi. I frequently use the lock feature next to transform parameters:
blenderquestion

I find it helpful when for example, I need to move meshes on a table and I want to be sure they are always on top of the surface by blocking location in Z.

But moving the mesh with my mouse seems unnatural. On the other hand, if I use Shift Z to restrict that axis, the movement is perfectly predictable and natural.

Is this a bug, or am I missing something? Shouldn’t my mesh behave the same?

Thank you

I can’t see any difference if i

  • lock Z and then hit G and move with the mouse or
  • hit G Shift-Z and then move with the mouse

(in 3.1.2 and 3.2.1 on linux debian)

Have you tried moving on the space using the height of your screen from background to foreground? I have used Blender for many versions (since 2.8) on different computers, and this behavior discrepancy has always been present.

I created two cubes. One has the Z axis locked using the transform tabs, and the other uses the Shift Z.
I am moving my mouse circularly on each of them, and definitively the motion is quite contrastable.

Trying to describe the one with the locked axis using the transform tab lock, I would say the mesh translation from background to foreground in the viewport 3d space is barely usable.

?? I don’t understand what you are doing?? First with lock then with Shift-Z:

I hope this helps to communicate my point better. The navigation is different, being the shift Z is what I would expect and the lock z tab unpredictable due to the lack of connection between mouse position and cube restricted motion.

To make it simpler: Shift Z cube follows my pointer. Lock Z cube stays in a restricted area of the grid independently of where my pointer is.

Ahh now i get it… hmm :thinking: maybe one is bound to the mouse position which translates to a position in space and the other uses the mouse movement as value changes… (which would be the why ?)
Anyway: using Shift-Z is faster :wink:

Well, it is quite useful in my work. I will see if I can notify this somwhow.

Yes, it’s always been like this and I always wondered why. Since it’s a pretty minor inconvenience I never bothered to report it but maybe someone should. In any case, I don’t really use axis locking outside of making rigs, and even then it’s rare that I do.

With locking a separate axis one more calculation step is made after all previous calculations.
So the input 3d coordinates are recalculated and the object is new placed after a move and before update the gui to avoid flickering. So the position is caclulates twice instead of one time.
I guess this is needed so the permanent locking is taken for all operations that have been done.

Do you think this counts as a bug?

No, i dont think this is a bug. It is an unexpected behavior that possibly came up by adding new functions.
You can make an report and ask for an improve.