Page MenuHome

Incorrect 3D Cursor Movement with Axis Constraint
Open, Confirmed, MediumPublic


System Information
Operating system: Windows-10-10.0.18362 64 Bits
Graphics card: GeForce GTX 1060 6GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 431.36

Blender Version
Broken: version: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47, hash: rBf6cb5f54494e
Worked: (optional)

Short description of error
While moving the 3D cursor press one of the axis constraint keys (x, y, or z). The 3D cursor changes position when the key is pressed.

Exact steps for others to reproduce the error
[Please describe the exact steps needed to reproduce the issue]

  • Start Blender with a default scene.
  • Select the Cursor toolbar item on the left (or Shift+Right click)
  • Press the "x" key on the keyboard.

Observe that as "x" is pressed the position of the 3D cursor changes along the Y-axis. This is quite annoying, especially when trying to offset the location of a new object/etc.

This also happens when snapping is enabled with "Absolute Grid Snap" enabled resulting in the position of the 3D cursor not actually being on the grid.



Event Timeline

tom k (tomjk) added a subscriber: tom k (tomjk).EditedMon, Aug 5, 5:34 PM

This is expected behaviour. Moving an object and constraining along an axis works in the same way. If you want to move only on X axis, then it makes sense to cancel any Y movement. If you want to constrain the cursor to the XY plane (ie. horizontal/ground plane, without Z/vertical movement), press Shift+Z.

edit: can't say for absolute grid snapping though, never used it.

@tom k (tomjk) Try in top ortho view with Snap + Absolute Grid Snap as I think this demonstrates the issue. I'm able to move it nicely along the grid points and if I have it at a y=0.0 location, when I press "x", then the 3D cursor jumps on the y-axis based on where I initially clicked. It seems to be taking the initial mouse-click location as the position to use when constraining, but this makes it impossible to be positioned exactly on the grid.

If there was a way to move the 3D cursor more like other objects, then this probably wouldn't be an issue as moving an object does snap it to the clicked position first like it does with the 3d cursor.

Ah! You're right, that behaviour is almost certainly not as intended.

Might I add that when dragging to move the 3D Cursor, the "move" command window that opens shows the transformation to apply at each update of the values. To understand it better, place the corsor at 0,0,0, then drag to move it a little bit. Shift edit the values in x, y, and z of the move window at the bottom and observe as the cursor doesn't position itself as you'd expect.

To simplify, if (C)ursor = 0,0,0, then (M)ove =1,1,0 then C=1,1,0. If you edit the values in the box to M=0.5,1,0 then C=1.5,2,0. M=1,0,0 C=2.5,2,0.

Editing the values in the box apply the transform everytime they are updated. Seems counter intuitive.

Sybren A. Stüvel (sybren) triaged this task as Confirmed, Medium priority.

Confirmed on Blender 88a872dd6eac10e99afbd18243d39be68921642a.

To reproduce:

  • Snap the cursor to world origin (0, 0, 0)
  • Activate the Cursor tool
  • Drag diagonally, starting the drag with the mouse in a different location than (0, 0, 0)
  • Press X
  • Note that the movement of the 3D cursor is now constrained to the mouse cursor's Y and Z location when the dragging started, and not to the expected Y=Z=0 (i.e. the cursor's position when the dragging started).

I can't reproduce the problem here.

Here's what it looks like.