Page MenuHome

3D Cursor Tool Todo
Open, NormalPublic

Description

3D Cursor Tool Todo

  • Add button in the Tool Settings to reset the Cursor position to 0,0,0
  • Add XYZ controls for 3D Cursor next to it
  • Add Rotation XYZ controls for 3D Cursor in the Sidebar, next to location.

Details

Type
To Do

Event Timeline

William Reynish (billreynish) triaged this task as Normal priority.
William Reynish (billreynish) updated the task description. (Show Details)

Q: Both of these are incompatible with 3D viewport-specific local view cursor, how to solve? ~ ideasman42

Do we really need a Local View specific cursor, what purpose does it serve?

I don't see many benefits from having one, and in most cases it causes more harm and confusion than good.
Intentionally moving it from where the user purposefully left it in should be avoided. If for example you set up the 3D Cursor by snapping it to a random element, then enter Local View excluding said element, you can't easily restore its position to where you intentionally left it, without including an extra a undesirable element in local view.

Many operators and addons aren't aware of this either, or don't work well in Local View. Even in native functionality like Appending or Linking, for example, not only are objects spawned at scene cursor position, they aren't immediately visible because new elements aren't automatically added into current local view.

If this made the developer's life any easier I'd vote for removal and simplification. Same for most other local view functionality like changing the viewpoint. Local View would ideally only change visibility of objects.

I second the comment above. For me, local view-specific cursor position is a problem rather than help. Every single time I isolate selection, and then go back to global view, the cursor is in the wrong position. I'd simply completely remove the idea of global/local view specific cursor, and have one cursor position regardless of 3D view mode.

+ Add [Rotation x y z] – here and in the sidebar?

Yes. The only way to accurately adjust cursor rotation currently is snapping to mesh geometry.

Nice!

+1 to adding rotation XYZ as well.

While we're at it, and since we are adding an operator (Reset). Shall we also add a Snap menu in there as well? At the moment the Snapping operations for the 3D cursor are tucked in the Object menu, even though some don't even belong there (like Snap Cursor to Grid or Snap Cursor to World Origin).

+1 for rotation as well, there's no convenient (and precise) way to adjust it right now, and it seems very logical to have it there.

I think snapping options have their place here, so we have all main 3D cursor-related options at the same place. And it's Tool Settings, it's an important setting, isn't it ? :)

Well, I think the most important option in the entire Blender history would actually be [x] Position Lock ;-)
or maybe just [«] [»] for position undo/redo.

Added the Cursor rotation settings as a todo.

That would be very helpful! Also, how come the controls are still in the sidebar rather than the active tool properties?

Kind of offtopic: I was thinking we should add the _Cursor Depth_ setting to the topbar as well, but now I just realize Surface Project is the same thing. Shall we rename Cursor Depth in the user preferences so it's consistent? Or is there another difference in the way it works I'm missing? @Campbell Barton (campbellbarton) any ideas?

Surface Project is, IMO, a much more descriptive name than Cursor Depth, which is entirely ambiguous and says nothing about *which* depth.

Renamed to 'Cursor Surface Project' in preferences...

Although it could be argued the term projection is redundant/unnecessary in this case since anything you do that matches 2D -> 3D is a projection.

We could call this 'Surface Depth', since its implied placing the cursor puts it under the mouse.

I've made most of the changes here:


Remaining:

  1. Redraw after cursor is placed. (Right now it only repaints after a cursor drag action.
  2. Add reset button for location.
  3. Position lock? This would probably better built in to the location property somehow though.

Also, the results don't look great right now because of the alignment of the text and the properties. It would be great if a property's text was closer to it.

Oops -_- I didn't mean to add Campbell also, sorry.

Would rather not add these settings.

In the same way we don't expose object transform in the top-bar when transform is enabled. I think it's best not to put scene properties in the tool options.

They take up nearly the entire top-bar, don't leave room for other tool options (which should be added for placement) and are duplicated in the 3D cursor panel.

I don’t understand why such a huge portion of the screen is meant to remain blank. It makes perfect sense to have properties associated with the tool available in the top bar. Many programs use this area in such a way. Blender seems insistent on hiding settings in so many places that the user is required to hunt around the interface for related tools and settings. If a convenient space exists, why leave it empty for most tools? Given the virtual lack of utility, the top bar makes very little sense; it is simply wasted space.

I think I agree with Dan here, although there are good reasons on both sides. I'll try to sum them up here:

Reasons not to include position and rotation:

  • Technically doesn't conform to the standard of not having scene properties in toolbar.
  • Requires top bar to repaint more often
  • Takes up space that could be used for other options (what options wouldn't fit?)
  • The properties spread out sideways are a bit awkward

Reasons to include the settings:

  • Fills useless and empty space that otherwise feels pretty silly
  • Takes pressure off the side-bar that's filling up very quickly
  • Cursor "Placement" tool mean that location and rotation are more of an aspect the tool than object transformation (in my opinion)
  • Makes the tool useful even with the right click select keymap
  • Makes editing the exact transformation more visible

Overall I think it's worth it and would be a valuable addition.

@Hans Goudey (HooglyBoogly) That sums it up pretty well.

I think the idea is for now to try to stick with the more strict approach of only having tool properties in the top bar for now, but I do agree that this starts to feel like it's related to the tool now.

We could be less 'strict' and add more things in the top bar when applicable. There are many instances where it's almost empty, even though there are relevant items we could add here, depending on the active tool.

Currently there is a problem with keymap of 3D Cursor.
Left click to set 3D Cursor is conflicting with Left Tweak to move it using transform modal keymap.

Each time, user wants to precisely place 3D Cursor by using modal keymap according its previous position : left click will interfere and change original location of 3D Cursor before beginning of movement.
I suggest to change left tweak to shift Left tweak or set cursor to shift left click. That is sufficient to neutralize left click interference.

Then, button or shortcut to clear rotation of cursor will be welcomed.

That are only change needed to make 3D cursor appreciated as a pivot point or transform orientation.