3D Cursor Tool Todo #57208

Closed
opened 2018-10-14 19:39:34 +02:00 by William Reynish · 27 comments

3D Cursor Tool Todo

    • {icon circle color=green} Add button in the Tool Settings to reset the Cursor position to 0,0,0
    • {icon circle color=green} Add XYZ controls for 3D Cursor next to it
    • {icon circle color=yellow} Add Rotation XYZ controls for 3D Cursor in the Sidebar, next to location.

Screen Shot 2018-08-27 at 14.29.10.png

## 3D Cursor Tool Todo * - [ ] {icon circle color=green} Add button in the Tool Settings to reset the Cursor position to 0,0,0 * - [ ] {icon circle color=green} Add XYZ controls for 3D Cursor next to it * - [x] {icon circle color=yellow} Add Rotation XYZ controls for 3D Cursor in the Sidebar, next to location. ![Screen Shot 2018-08-27 at 14.29.10.png](https://archive.blender.org/developer/F4410847/Screen_Shot_2018-08-27_at_14.29.10.png)
Campbell Barton was assigned by William Reynish 2018-10-14 19:39:34 +02:00
Added subscribers: @WilliamReynish, @Znio.G, @DanPool, @Rawalanche, @zeauro, @A.Lex_3D, @CraigJones, @nokipaike, @JonDoe286, @DuarteRamos, @Djay

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.

> 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.
Contributor

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.

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.

Added subscriber: @capnm

Added subscriber: @capnm
  • Add [Rotation x y z] – here and in the sidebar?
+ 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.

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

Added subscriber: @pablovazquez

Added subscriber: @pablovazquez
Member

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).

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).

Added subscriber: @Lapineige

Added subscriber: @Lapineige

+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 ? :)

+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 - [x] - [x] for position undo/redo.

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

Added the Cursor rotation settings as a todo.

Added the Cursor rotation settings as a todo.

Added subscriber: @JonathanLampel-4

Added subscriber: @JonathanLampel-4

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

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

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? @ideasman42 any ideas?

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? @ideasman42 any ideas?

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

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.

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.
Member

Added subscribers: @ideasman42, @HooglyBoogly

Added subscribers: @ideasman42, @HooglyBoogly
Campbell Barton was unassigned by Hans Goudey 2019-03-18 04:08:56 +01:00
Hans Goudey self-assigned this 2019-03-18 04:08:56 +01:00
Member

I've made most of the changes here:
image.png
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.

I've made most of the changes here: ![image.png](https://archive.blender.org/developer/F6841661/image.png) 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.
Member

Removed subscriber: @ideasman42

Removed subscriber: @ideasman42
Member

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

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.

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 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.
Member

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.

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.

@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.

@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.

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.
Member

Closed as duplicate of #69550

Closed as duplicate of #69550
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
12 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#57208
No description provided.