I'm currently working with the Blender 2.80 beta, and although I can snap the 3d cursor to objects easily, and tweak its precise position with the 3D Cursor UI, I can't figure out how to reset its rotation, because it is not exposed in the UI with the position. Is there a tool or some kind of trick to reset only the rotation?

Also, there is no undo for cursor changes, correct?

  • 2
    $\begingroup$ you are correct in saying that there's no undo for cursor changes, this was said explicitly in a video by the developers: the idea behind it is not to crowd the undo history with events that people do all the time with some workflows $\endgroup$ – Nicola Sap Dec 15 '18 at 9:36

You can control the behaviour of the 3D Cursor orientation via the Cursor tool :

Cursor tool

Enabling the Cursor tool gives you options to set whether the cursor is projected to the clicked surface and how the Orientation should be updated.

The default option is for 'View' - so the cursor is always oriented to the current view. In order to prevent the cursor from being reoriented at all, select 'None' - if you do this before moving the cursor from its initial default orientation then the cursor will remain aligned with the 3D world coordinates.

If your cursor is already skewed then you can reset it back to its default orientation by selecting 'Transform' orientation mode and then clicking anywhere in the scene not on a mesh - this will reset the orientation to the world. Once you have done this you can change the orientation setting to 'None' so that the 3D cursor remains in that orientation.

In order to set a custom orientation, you can orient a surface in the direction you want to set the 3D cursor, set the Orientation mode to 'Geometry' and click the surface to move the 3D cursor to that surface, settings its orientation.


Python console

EDIT. The API now has a Scene.cursor which has the three rotation modes the same as objects in blender.

To quickly reset the cursor to global axis alignment, for example set the rotation mode from Euler 'XYZ' to QUATERNION

>>> C.scene.cursor.rotation_mode

>>> C.scene.cursor.rotation_mode = 'QUATERNION'
>>> C.scene.cursor.rotation_quaternion = Quaternion()

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.