Maniphest T93501

3D Cursor & Origin overlays should be grayed out if hidden by current mode/tool
Confirmed, NormalTO DO

Assigned To
None
Authored By
Bulat (BulatKR)
Nov 30 2021, 9:27 AM
Tags
  • BF Blender
  • Sculpt, Paint & Texture
  • Good First Issue
Subscribers
Bulat (BulatKR)
Chingiz Jumagulov (Krayzmond)
Joseph Eagar (joeedh)
Julien Kaspar (JulienKaspar)
Philipp Oeser (lichtwerk)
ronan ducluzeau (zeauro)

Description

This task is part of the community & sub tasks of the workboard. Anyone is free to pick up this task and contribute. For any questions or needed reviewers, please tag @Joseph Eagar (joeedh) and @Julien Kaspar (JulienKaspar).

The 3D Cursor and Origins are not displayed in painting modes as well as sculpt mode.
The overlay popover does not give feedback on this though.

The overlays should be grayed out in the modes and tools where it is hidden.
Ideally there should be exceptions to this rule, like while the 3D Cursor is transformed (already implemented) and when the current Tool is using it (Annotation Tools).

Related Objects

Mentioned In
rB893039591270: Fix T101765: Curves sculptmode: object origin and 3D cursor are visible
D16764: Fix T101765: Curves sculptmode: object origin and 3D cursor are visible
T101765: Curves sculptmode: object origin and 3D cursor are visible
Mentioned Here
P2625 T93501_snippet

Event Timeline

Bulat (BulatKR) created this task.Nov 30 2021, 9:27 AM
Philipp Oeser (lichtwerk) added a subscriber: Philipp Oeser (lichtwerk).Nov 30 2021, 10:41 AM

This is probably because the Clone tool might use it, will check.

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Needs Information from User.Nov 30 2021, 11:58 AM

This is controlled by is_cursor_visible:

  • cursor is not visible in all paint modes, with following exceptions:
    • weightpaint and posemode combined
    • texturepaint and using the Clone tool

It might make sense to reflect this in the UI somewhat by hiding the setting in paint modes like:

1
2
3diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
4index 3fd19dd70cf..ea391a9c490 100644
5--- a/release/scripts/startup/bl_ui/space_view3d.py
6+++ b/release/scripts/startup/bl_ui/space_view3d.py
7@@ -6104,7 +6104,10 @@ class VIEW3D_PT_overlay_guides(Panel):
8 sub.prop(overlay, "show_stats", text="Statistics")
9
10 sub = split.column()
11- sub.prop(overlay, "show_cursor", text="3D Cursor")
12+ # match is_cursor_visible() somewhat
13+ use_show_cursor = context.mode not in {'PAINT_WEIGHT', 'PAINT_TEXTURE', 'PAINT_VERTEX', 'WEIGHT_GPENCIL'}
14+ if use_show_cursor:
15+ sub.prop(overlay, "show_cursor", text="3D Cursor")
16 sub.prop(overlay, "show_annotation", text="Annotations")
17
18 if shading.type == 'MATERIAL':

So currently this is by design (and not a bug). May I ask:

  • how are you displaying the 3D Cursor in Texture paint mode? (you were mentioning you figured out a way)
  • why would you want the 3D Cursor in a painting mode? (if there is a valid usecase, we might want to reconsider hiding it)
Bulat (BulatKR) added a comment.EditedNov 30 2021, 12:39 PM

Maybe I put it wrong, I haven't found a way to display 3D Cursor in Texture Paint mode.

I need 3D Cursor for precise positioning of drawing in anchored stroke mode. I want to draw the folds using texture mask. First I apply the dark part, and then the light part, but for accurate drawing it is necessary to use both applications from about the same place, for this I would like to somehow use 3D Cursor if possible.

Philipp Oeser (lichtwerk) changed the task status from Needs Information from User to Needs Information from Developers.Dec 20 2021, 8:54 AM
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Design".
Philipp Oeser (lichtwerk) added a project: Sculpt, Paint & Texture.

OK, so there seems to be a usecase for this.
But since this is working as coded atm. there is probably a design decision to be made here.
Will put the task staus to reflect this.

Philipp Oeser (lichtwerk) renamed this task from The 3D Cursor is not displayed in Texture Paint mode, but there is a switch in the menu. to Texture Paint: 3D Cursor only visible in Clone tool (needed in other tools too in some workflows, also always has an Overlay option).Dec 20 2021, 8:57 AM
Philipp Oeser (lichtwerk) updated the task description.
Julien Kaspar (JulienKaspar) changed the task status from Needs Information from Developers to Confirmed.May 14 2022, 1:26 PM
Julien Kaspar (JulienKaspar) added a subscriber: Julien Kaspar (JulienKaspar).

For the current design in painting and sculpt modes there is no use case for using the 3D cursor. Whenever there would be one like with the Close Tool it would be displayed.
I think in this case the user should use the annotate tool to mark important areas (That's what the tool is meant for after all).

But I agree that the 3D cursor overlay should be greyed out in this case to not be misleading. The description can be updated for that.

Julien Kaspar (JulienKaspar) updated the task description.May 14 2022, 1:27 PM
Julien Kaspar (JulienKaspar) moved this task from Backlog to Community & Sub-Tasks on the Sculpt, Paint & Texture board.
Julien Kaspar (JulienKaspar) changed the subtype of this task from "Design" to "To Do".

This is not strictly a bug so I'll add it to the lower priority tasks on the workboard.

Julien Kaspar (JulienKaspar) renamed this task from Texture Paint: 3D Cursor only visible in Clone tool (needed in other tools too in some workflows, also always has an Overlay option) to 3D Cursor overlay should be greyed out if hidden by current mode/tool.May 14 2022, 1:29 PM
Chingiz Jumagulov (Krayzmond) added a subscriber: Chingiz Jumagulov (Krayzmond).EditedAug 18 2022, 10:48 AM

Can we actually enable the toggling of 3d cursor visibility in Sculpt Mode? Why was it removed in the first place? it's actually VERY convenient to have 3d cursor in sculpt mode to rotate elements and position them with more precision and use it with the rest of the Blender functionality and Transform orientation and Transform pivot points.

There are many cases when 3d cursor can be used very effectively in the Sculpt mode. For example, I have written personal macros to add different primitives in the sculpt mode without leaving it (which blender's sculpt mode is still lacking) it uses 3d cursor to place the objects, but it's really annoying that I can't toggle the visibility of 3d cursor in the sculpt mode (BUT It's actually still there because I can shift+right click to place it in sculpt mode and use it with custom transform modes, the thing is, for some weird reason, it's hidden permanently) to see the exact placement before I run my macro. And a user using Blender's defaults can also benefit from using 3d cursor in the Sculpt mode to manipulate sculpted objects.

I really don't understand why is it being toggled off permanently in that mode. Is there a practical reason to turn it off? I don't think that there is, apart from the very subjective "esthetics", other than that it's a hindrance to Blender power users. And if somebody doesn't like it, he can always turn it's display off?

Chingiz Jumagulov (Krayzmond) added a comment.EditedAug 18 2022, 11:07 AM

P.S. Here is a little video demonstrating a use case for 3d cursor in sculpt mode to quickly manipulate an object, when you use it in sculpt mode you can quickly come up with interesting shapes and symmetrize your model, having functioning 3d Cursor toggle option would have helped, especially when loads of users use pie menus (even default ones that come with blender) to quickly set up Transform pivot points and orientation. So I'm really wondering why devs say there is no use cases for it in sculpt mode, I always was surprised that it worked in sculpt mode but was always invisible.

Julien Kaspar (JulienKaspar) added a comment.Aug 18 2022, 11:07 AM

@Chingiz Jumagulov (Krayzmond) The reason why it's not displayed in sculpt mode is because it is not used in that mode, or at least there's no reason to use it yet.
Any case where it can be used right now like with the transform tools is not intended and not properly supported in the first place.

For a better environment for discussion I recommend to visit the 'sculpt-paint-texture' channel on blender.chat. You can tag me there with @Julien Kaspar (JulienKaspar).

Philipp Oeser (lichtwerk) mentioned this in rB893039591270: Fix T101765: Curves sculptmode: object origin and 3D cursor are visible.Dec 14 2022, 8:28 AM
ronan ducluzeau (zeauro) added a subscriber: ronan ducluzeau (zeauro).EditedDec 14 2022, 10:24 AM
In T93501#1405521, @Julien Kaspar (JulienKaspar) wrote:

@Chingiz Jumagulov (Krayzmond) The reason why it's not displayed in sculpt mode is because it is not used in that mode, or at least there's no reason to use it yet.

It is uncorrect. It is useful for annotations. Annotation tools are present in all modes. By default, they are using 3D Cursor placement.

And like it was said, it could be useful for a lot of things in sculpt mode.

Plus, it is already an overlay that can be enable or disable at will in other modes.
That does not make sense in terms of usability to force its removal of one mode.
When in all modes, it can be disabled by who wants to ignore.

Julien Kaspar (JulienKaspar) added a comment.Thu, Jan 19, 3:53 PM

@ronan ducluzeau (zeauro) I think the Annotation example is a noteworthy exception for the current logic. To fix this it would be best to enable the 3D cursor if the Annotation Tool is active.
The overlays should be more context aware but whenever they should be hidden, the overlay settings need to reflect that.

I'm updating the description to make the task more clear.

Julien Kaspar (JulienKaspar) renamed this task from 3D Cursor overlay should be greyed out if hidden by current mode/tool to 3D Cursor & Origin overlays should be grayed out if hidden by current mode/tool.Thu, Jan 19, 3:56 PM
Julien Kaspar (JulienKaspar) updated the task description.
Julien Kaspar (JulienKaspar) added a project: Good First Issue.
Julien Kaspar (JulienKaspar) added a subscriber: Joseph Eagar (joeedh).