Sculpt Mode Transform Pivot #118250

Open
opened 2024-02-14 10:51:28 +01:00 by Julien Kaspar · 3 comments
Member

This task is an updated version and replacement of #80392.

The prevailing issues is that the SculptSession pivot in sculpt mode is

  • Not persistent (#110616)
  • Difficult to manually position
  • Not forced as the default (Other pivot options can be accessed and currently lead to bugs)

3D Cursor as replacement for SculptSession Pivot

image

We discussed that it would be the best route to exclusively use the 3D Cursor in sculpt mode as the only transform pivot. All other pivot point options and the pie menu on Period need to be disabled in this mode.
This will allow the pivot to be consistent across multiple sessions and scene objects.

Ideally the Orientation will also be locked on "Cursor" while in sculpt mode with the pie menu shortcut on Comma disabled as well.
Orientation settings from Transform Tools need to be hidden in sculpt mode.
image

A special behavior in sculpt mode is that the 3D Cursor must be transformed together with the geometry to make sure the pivot and orientation intuitively updates.
The Expand operators also need to reposition the 3D Cursor instead of the SculptSession pivot (If this should only happens while a transform tool is active or always needs to be tested).

The view3d.cursor3d operator needs to be assigned to the shortcut Shift RMB in sculpt mode instead of sculpt.set_pivot_position. An additional transform.translate operation for the 3D cursor when click & drag is used is also needed (Same as object and edit mode).

Tool setting to only transform the pivot

A followup step is to add the option to only transform the 3D cursor pivot with the tools.
For now this kind of option is only needed for sculpt mode to fine tweak the cursor without Shift RMB. An old patch already started the work:
D9540: Sculpt: Option to transform only the sculpt pivot

This task is an updated version and replacement of #80392. The prevailing issues is that the SculptSession pivot in sculpt mode is - Not persistent (#110616) - Difficult to manually position - Not forced as the default (Other pivot options can be accessed and currently lead to bugs) ### 3D Cursor as replacement for SculptSession Pivot ![image](/attachments/91af8dcd-b183-4b1c-bb2a-8bd52baff87f) We discussed that it would be the best route to exclusively use the 3D Cursor in sculpt mode as the only transform pivot. All other pivot point options and the pie menu on `Period` need to be disabled in this mode. This will allow the pivot to be consistent across multiple sessions and scene objects. Ideally the Orientation will also be locked on "Cursor" while in sculpt mode with the pie menu shortcut on `Comma` disabled as well. Orientation settings from Transform Tools need to be hidden in sculpt mode. ![image](/attachments/99cc79a7-0502-48d2-b188-ef84bdfced82) A special behavior in sculpt mode is that the 3D Cursor must be transformed together with the geometry to make sure the pivot and orientation intuitively updates. The Expand operators also need to reposition the 3D Cursor instead of the SculptSession pivot (If this should only happens while a transform tool is active or always needs to be tested). The `view3d.cursor3d` operator needs to be assigned to the shortcut `Shift RMB` in sculpt mode instead of `sculpt.set_pivot_position`. An additional `transform.translate` operation for the 3D cursor when click & drag is used is also needed (Same as object and edit mode). ### Tool setting to only transform the pivot A followup step is to add the option to only transform the 3D cursor pivot with the tools. For now this kind of option is only needed for sculpt mode to fine tweak the cursor without `Shift RMB`. An old patch already started the work: [D9540: Sculpt: Option to transform only the sculpt pivot](https://archive.blender.org/developer/D9540)
Julien Kaspar added the
Module
Sculpt, Paint & Texture
Type
To Do
labels 2024-02-14 10:51:29 +01:00
Julien Kaspar added this to the Sculpt, Paint & Texture project 2024-02-14 10:51:31 +01:00
Contributor

Really glad we're going with 3D cursor. It would make sense to have other options such as Mask Edge and etc. on (.) Shortcut as modes and 3D cursor becomes another mode you can choose. It will make very consistent with object and edit modes

Really glad we're going with 3D cursor. It would make sense to have other options such as Mask Edge and etc. on (.) Shortcut as modes and 3D cursor becomes another mode you can choose. It will make very consistent with object and edit modes

Really glad we're going with 3D cursor.

That sounds like a bad move to me, tbh...

I'd go with the industry standard way of doing this, which is by transforming the gizmo itself only (like Dobarro was doing). That is intuitive imo... No need to involve anything else in the pivot manipulation process...

Also this seems to add yet another meaning to the 3d cursor, and make it be something that it was never meant to be... In sculpt mode the 3d cursor will be something different from the rest of blender, which is not good..

Like: the 3D Cursor must be transformed together with the geometry The moment this starts happening, that's not a 3d cursor anymore, that's something else...

So, besides confusion, I don't see any advantage in associating the 3d cursor with the pivot...

> Really glad we're going with 3D cursor. That sounds like a bad move to me, tbh... I'd go with the industry standard way of doing this, which is by transforming the gizmo itself only (like Dobarro was doing). That is intuitive imo... No need to involve anything else in the pivot manipulation process... Also this seems to add yet another meaning to the 3d cursor, and make it be something that it was never meant to be... In sculpt mode the 3d cursor will be something different from the rest of blender, which is not good.. Like: `the 3D Cursor must be transformed together with the geometry` The moment this starts happening, that's not a 3d cursor anymore, that's something else... So, besides confusion, I don't see any advantage in associating the 3d cursor with the pivot...
Author
Member

@TheRedWaxPolice

So, besides confusion, I don't see any advantage in associating the 3d cursor with the pivot...

The primary goal is to make the pivot work intuitively. That could be done with either a unique pivot for sculpt mode or the 3D cursor.
The advantage for using the 3D cursor is a persistent pivot across all objects and after reloading the file.

If there are arguments against the 3D Cursor, where using it would lead to issues or confusion, then that's important to talk about.

Also this seems to add yet another meaning to the 3d cursor

Not really. The 3D cursor can be used as a pivot already. It's very much in line with how Blender works. It's not that much of a stretch to use the 3D cursor for this purpose in sculpt mode.

by transforming the gizmo itself

This is part of the task, yes. Having this as an option is very useful. The alternative will be to use Shift RMB to place, orient and drag the pivot.

@TheRedWaxPolice > So, besides confusion, I don't see any advantage in associating the 3d cursor with the pivot... The primary goal is to make the pivot work intuitively. That could be done with either a unique pivot for sculpt mode or the 3D cursor. The advantage for using the 3D cursor is a persistent pivot across all objects and after reloading the file. If there are arguments against the 3D Cursor, where using it would lead to issues or confusion, then that's important to talk about. > Also this seems to add yet another meaning to the 3d cursor Not really. The 3D cursor can be used as a pivot already. It's very much in line with how Blender works. It's not that much of a stretch to use the 3D cursor for this purpose in sculpt mode. > by transforming the gizmo itself This is part of the task, yes. Having this as an option is very useful. The alternative will be to use `Shift RMB` to place, orient and drag the pivot.
Julien Kaspar added
Type
Design
and removed
Type
To Do
labels 2024-02-16 12:14:37 +01:00
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 Assignees
3 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#118250
No description provided.