Fix #93501 disable 3dcursor in sculpt mode #115749

Closed
Pedro wants to merge 1 commits from (deleted):overlay_hide_3d_cursor into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
First-time contributor

3d cursor is not used in sculpt mode, so disable it in the overlays panel.

There is an exception: when there are annotations present the 3d cursor can be enabled/disabled, since annotation location may depend on it. In this scenario, SHIFT+RMB doesn't move the cursor.

Please check following video for a demo of this change.

This is my first PR, please let me know if I missed something from the contributing process.

3d cursor is not used in sculpt mode, so disable it in the overlays panel. There is an exception: when there are annotations present the 3d cursor can be enabled/disabled, since annotation location may depend on it. In this scenario, SHIFT+RMB doesn't move the cursor. Please check following video for a demo of this change. <video src="/attachments/c8bfeebf-108b-4724-ae73-fcc96f6b1b59" title="Screencast from 04-12-23 11:52:46.webm" controls></video> This is my first PR, please let me know if I missed something from the contributing process.
Pedro changed title from WIP: Fix #93501 disable 3dcursor in sculpt mode to Fix #93501 disable 3dcursor in sculpt mode 2023-12-04 12:41:09 +01:00
Iliya Katushenock added this to the Sculpt, Paint & Texture project 2023-12-04 12:50:47 +01:00
Pedro force-pushed overlay_hide_3d_cursor from 37263453d5 to 764376402a 2023-12-04 12:53:15 +01:00 Compare
Contributor

Sculpt mode users have been arguing for years that instead of disallowing 3D cursor should be allowed in sculpt and texture modes. Disabling it was done for legacy reasons and doesn't make much sense. While sculpt mode has its own pivot, overall Blender uses for 3D cursor is still there. For example:

  1. with . shortcut you can still change pivot point to 3D cursor. If its set to anything else it uses sculpt pivot, but if its set to 3D cursor it uses 3D cursor. UX wise this menu should be changed to include just 'Sculpt Pivot' and '3D Cursor', but 3D cursor option shouldn't be removed. It gives user ability to use pivot point defined in object mode, and having same pivot in multiple modes is very important. You can also quickly set pivot to world origin center when needed, without eyeballing, or changing modes to reset sculpt pivot (which is also known issue that will get fixed at some point)

  2. 'Lock View to 3D' cursor option from sidebar 'View' menu is still usable and handy. If you're allowed to rotate camera around 3D cursor, its logical that you should be able to see it too.

  3. Case of annotations as you mentioned.

  4. Since there are no 'symmetry planes' in Blender, 3D cursor can be useful to display symmetry center

@JulienKaspar what do you think? Joe wanted to enable cursor I remember. Maybe some design talk before the PR?

Sculpt mode users have been arguing for years that instead of disallowing 3D cursor should be allowed in sculpt and texture modes. Disabling it was done for legacy reasons and doesn't make much sense. While sculpt mode has its own pivot, overall Blender uses for 3D cursor is still there. For example: 1. with . shortcut you can still change pivot point to 3D cursor. If its set to anything else it uses sculpt pivot, but if its set to 3D cursor it uses 3D cursor. UX wise this menu should be changed to include just 'Sculpt Pivot' and '3D Cursor', but 3D cursor option shouldn't be removed. It gives user ability to use pivot point defined in object mode, and having same pivot in multiple modes is very important. You can also quickly set pivot to world origin center when needed, without eyeballing, or changing modes to reset sculpt pivot (which is also known issue that will get fixed at some point) 2. 'Lock View to 3D' cursor option from sidebar 'View' menu is still usable and handy. If you're allowed to rotate camera around 3D cursor, its logical that you should be able to see it too. 3. Case of annotations as you mentioned. 4. Since there are no 'symmetry planes' in Blender, 3D cursor can be useful to display symmetry center @JulienKaspar what do you think? Joe wanted to enable cursor I remember. Maybe some design talk before the PR?
First-time contributor

enable cursor

@Nika-Kutsniashvili Since the Option to transform only the sculpt pivot is not available yet in sculpt mode, I'd say yes, it would be nice to have the 3d cursor fully enabled in sculpt mode for the time being...

> enable cursor @Nika-Kutsniashvili Since the [Option to transform only the sculpt pivot](https://developer.blender.org/D9540) is not available yet in sculpt mode, I'd say yes, it would be nice to have the 3d cursor fully enabled in sculpt mode for the time being...
Author
First-time contributor

Perfect, I will update my changes to have the 3d cursor always enabled in sculpt mode

Perfect, I will update my changes to have the 3d cursor always enabled in sculpt mode
Contributor

Perfect, I will update my changes to have the 3d cursor always enabled in sculpt mode

Don't do that yet, I don't have power to make design decisions, I'm just suggesting. Wait for Julien first

> Perfect, I will update my changes to have the 3d cursor always enabled in sculpt mode Don't do that yet, I don't have power to make design decisions, I'm just suggesting. Wait for Julien first
First-time contributor

@PRiera1 If I were you, I'd try to implement that patch above that theredwaxpolice just linked (https://developer.blender.org/D9540). That's the real fix sculpt mode needs, and that's how things works universally in sculpting apps. Enough of tedious 3d cursor workarounds in sculpt mode.

@PRiera1 If I were you, I'd try to implement that patch above that theredwaxpolice just linked (https://developer.blender.org/D9540). That's the real fix sculpt mode needs, and that's how things works universally in sculpting apps. Enough of tedious 3d cursor workarounds in sculpt mode.
Author
First-time contributor

Perfect, checking the patch and the conversation. Will try to take it from there.

Perfect, checking the patch and the conversation. Will try to take it from there.
Member

@PRiera1 Be mindful that there is a lot of community interaction happening here too. @TheRedWaxPolice and @ThinkingPolygons feedback is welcome but they are not part of the module.
If in doubt, check the module landing page.

With the points raised it makes sense to wait for a bit.
We could show the 3D cursor overlay if it's needed in a current context but that's not very clear atm. Geometry node tools might also make use of the 3D cursor in the near future.

This needs to be discussed first. I'll get back to you on that.

Since the Option to transform only the sculpt pivot is not available yet in sculpt mode ...

That is quite an old patch and part of a bigger problem. It needs a closer look before implementing it.

@PRiera1 Be mindful that there is a lot of community interaction happening here too. @TheRedWaxPolice and @ThinkingPolygons feedback is welcome but they are not part of the module. If in doubt, check the [module landing page](https://projects.blender.org/blender/blender/wiki/Module:-Sculpt,-Paint-&-Texture). With the points raised it makes sense to wait for a bit. We could show the 3D cursor overlay if it's needed in a current context but that's not very clear atm. Geometry node tools might also make use of the 3D cursor in the near future. This needs to be discussed first. I'll get back to you on that. > Since the [Option to transform only the sculpt pivot](https://developer.blender.org/D9540) is not available yet in sculpt mode ... That is quite an old patch and part of a bigger problem. It needs a closer look before implementing it.
Contributor

Geometry node tools might also make use of the 3D cursor in the near future.

Oooh very good point! My point is that even if sculpt mode isn't using 3D cursor (even though I think it would be good), rest of the Blender is still using it, and it should be viewable for those operations. 3D cursor overlay allowed, but disabled by default is what makes sense for all cases I think.

> Geometry node tools might also make use of the 3D cursor in the near future. Oooh very good point! My point is that even if sculpt mode isn't using 3D cursor (even though I think it would be good), rest of the Blender is still using it, and it should be viewable for those operations. 3D cursor overlay allowed, but disabled by default is what makes sense for all cases I think.
Author
First-time contributor

Just a small follow-up, these last days I've been checking the patch and the related discussion, and was trying to make possible to translate the pivot without affecting the non-masked mesh. I think I will try to continue a bit on that on my own, despite it won't get merged. It allows me to learn about the codebase.

Of course, better to have a consistent UI/UX than applying patches. I'm fine with no having this merged until the uncertainties have been addressed. I'll pick a next task from the Get Involved page, or taking some reported bug

Just a small follow-up, these last days I've been checking the patch and the related discussion, and was trying to make possible to translate the pivot without affecting the non-masked mesh. I think I will try to continue a bit on that on my own, despite it won't get merged. It allows me to learn about the codebase. Of course, better to have a consistent UI/UX than applying patches. I'm fine with no having this merged until the uncertainties have been addressed. I'll pick a next task from the Get Involved page, or taking some reported bug
First-time contributor

I think I will try to continue a bit on that on my own, despite it won't get merged.

@PRiera1 Why it wouldn't be merged if done correctly?
If you manage to make it work the right way, I think you should submit the patch for review and see what the developers have to say.
Now, if the developers decide to reject the patch for whatever reason, that's another story, but at least you tried.

I hope you keep your interest in the sculpting module, it's the toughest to get into. Almost everything is rejected, but who knows, maybe it will change someday.

> I think I will try to continue a bit on that on my own, despite it won't get merged. @PRiera1 Why it wouldn't be merged if done correctly? If you manage to make it work the right way, I think you should submit the patch for review and see what the developers have to say. Now, if the developers decide to reject the patch for whatever reason, that's another story, but at least you tried. I hope you keep your interest in the sculpting module, it's the toughest to get into. Almost everything is rejected, but who knows, maybe it will change someday.
Member

Why it wouldn't be merged if done correctly?

@ThinkingPolygons Since the objective of this patch is now under discussion. So there is no "Correctly".
There's no point in merging a change if it's obvious it will get reverted a couple weeks later.

it's the toughest to get into. Almost everything is rejected, but who knows, maybe it will change someday.

This casual pessimism is uncalled for. Nothing is rejected. It always takes dev time and iteration to get any feature into main, in every module.

> Why it wouldn't be merged if done correctly? @ThinkingPolygons Since the objective of this patch is now under discussion. So there is no "Correctly". There's no point in merging a change if it's obvious it will get reverted a couple weeks later. > it's the toughest to get into. Almost everything is rejected, but who knows, maybe it will change someday. This casual pessimism is uncalled for. Nothing is rejected. It always takes dev time and iteration to get any feature into `main`, in every module.
First-time contributor

@ThinkingPolygons Since the objective of this patch is now under discussion. So there is not "Correctly".
There's no point in merging a change if it's obvious it will get reverted a couple weeks later.

We are not talking about this patch anymore. It's about the investigation he's doing on the old pivot patch by pablo dobarro.
That functionality is super important, and if done right, I think it should be considered.

I really don't understand why you guys in charge of the sculpting module don't make this pivot patch high priority. It's almost impossible to use the transform tools in sculpt mode without it.

> @ThinkingPolygons Since the objective of this patch is now under discussion. So there is not "Correctly". > There's no point in merging a change if it's obvious it will get reverted a couple weeks later. We are not talking about this patch anymore. It's about the investigation he's doing on the old pivot patch by pablo dobarro. That functionality is super important, and if done right, I think it should be considered. I really don't understand why you guys in charge of the sculpting module don't make this pivot patch high priority. It's almost impossible to use the transform tools in sculpt mode without it.
Member

We are not talking about this patch anymore.

@ThinkingPolygons Then we shouldn't be talking about it here.
Bring this up on blender chat rather than any random task/PR on this site ...

And I fully understand the current state and importance of the transform tools.
That's the end of that discussion in these comments. I will not let this derail further.

> We are not talking about this patch anymore. @ThinkingPolygons Then we shouldn't be talking about it here. Bring this up on blender chat rather than any random task/PR on this site ... And I fully understand the current state and importance of the transform tools. That's the end of that discussion in these comments. I will not let this derail further.
First-time contributor

No one is derailing anything here, we were talking with the creator of this patch.
Also wanted to make sure he doesn't give up on sculpt because of, well, THIS!

No one is derailing anything here, we were talking with the creator of this patch. Also wanted to make sure he doesn't give up on sculpt because of, well, THIS!
Author
First-time contributor

Hi, I'm closing this PR. Since the role of the 3d cursor in sculpt mode is still unclear there's no point in merging this, as @JulienKaspar said.

For the sake of learning about the code, I've been taking a look at how to transform the transformation gizmo without affecting the mesh. Looks like should be pretty straightforward, just change the function ED_sculpt_update_modal_transform to avoid doing any work when this is enabled. But since this wasn't the purpose of the task and this behavior requires analysis too, I don't have a PR-ready implementation.

Basically I'll pick a next task from the Community Tasks list. Thanks for the input!

Hi, I'm closing this PR. Since the role of the 3d cursor in sculpt mode is still unclear there's no point in merging this, as @JulienKaspar said. For the sake of learning about the code, I've been taking a look at how to transform the transformation gizmo without affecting the mesh. Looks like should be pretty straightforward, just change the function `ED_sculpt_update_modal_transform` to avoid doing any work when this is enabled. But since this wasn't the purpose of the task and this behavior requires analysis too, I don't have a PR-ready implementation. Basically I'll pick a next task from the Community Tasks list. Thanks for the input!
Pedro closed this pull request 2023-12-12 15:22:01 +01:00
Pedro deleted branch overlay_hide_3d_cursor 2023-12-12 15:22:29 +01:00

Pull request closed

Sign in to join this conversation.
No reviewers
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 Assignees
5 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#115749
No description provided.