Sculpting Mode only rotates around geometry origin (bring bug back) #34818

Closed
opened 2013-03-31 11:59:08 +02:00 by Jerry Graham · 7 comments

%%%--- Operating System, Graphics card ---

Acer laptop: Intel Pentium Dual CPU #2390 @ 1.86GHz;
Ubuntu 12.04 (Linux).
VGA compatible controller. Intel Mobile GM965/GL960 Integrated Graphics Controller.

- Blender version with error, and version that worked ---

Version with error: 2.65a and 2.66a.
Version that worked: 2.63a and 2.64a

- Short description of error ---

User Preferences -> Interface -> check Rotate Around Selection; check Zoom To Mouse Position.

In 2.63a and 2.64a, select a vertex of the mesh in Edit Mode. Drag mousewheel to rotate scene around selected vertex. Change to Sculpt Mode, and the same point that was selected in Edit Mode is used as the pivot center for rotating the scene. This was removed in 2.65a and also does not exist in 2.66a. In Sculpt Mode now ( > 2.64a ), one can only rotate the scene around the mesh's geometry origin point.

I've come to the conclusion it must have been a serendipitous bug that was removed. The problem now is when you zoom into an area for sculpting that is a significant distance from the geometry origin, and try to rotate to a different angle, the area of interest quickly flies out of view. That makes sculpting extremely cumbersome if not impossible, whereas, before it was VERY easy.

This might have been considered a BUG prior to 2.65, thinking that changing to Sculpt Mode from Edit Mode should change the scene's point of rotation to the mesh's geometry origin, rather than the residual point of rotation from Edit Mode. However, removing the bug made it FAR WORSE. Now the only area of interest that is EASY to sculpt is immediately around the geometry origin, and anything beyond that becomes increasingly impossible to sculpt. Before, it was very easy to designate an area of interest for sculpting, which also requires rotating the scene around THAT PARTICULAR area of interest.

In Sculpt Mode, rotating the scene ONLY around the mesh's geometry origin is WORTHLESS for any mesh more complex than something simple like a sphere or cube. For example, consider a mesh of the human form, where the arms are outstretched. If you want to sculpt a fingernail on a hand that is a signficant distance from the geometry origin, attempting to rotate the scene to a different angle, the hand will quickly fly out of view. Effective sculpting requires A LOT of rotating around THE PARTICULAR area of interest.

Some bugs are serendipitous and should be left AS IS, instead of removing them because of an INFERIOR theory of how it should be. Sculpting in 2.65a and 2.66a are now significantly INFERIOR to sculpting in 2.64a.

Thank you.

- Steps for others to reproduce the error (preferably based on attached .blend file) ---

User Preferences -> Interface -> check Rotate Around Selection; check Zoom To Mouse Position.

DESIRED behavior: In 2.64a, the blend file should load in Edit Mode with a single vertex selected. Drag mousewheel (middle mouse button) to rotate scene around the selected vertex. Change to Sculpt Mode, and the point selected in Edit Mode REMAINS the pivot center for rotating the scene. In other words, it's using "Rotate Around Selection" (User Preferences) In Sculpt Mode as a residual from Edit Mode.

NOT DESIRED behavior: In 2.65a or 2.66a, perform the same steps as above. In Sculpt Mode, the scene now only rotates around the mesh's geometry origin. That is NOT a desired behavior as one can only effectively sculpt immediately around the geometry origin.

Note: In 2.64a, one could also designate an area of interest for OTHER Modes by first selecting a vertex in Edit Mode, then dragging mousewheel (middle mouse) to rotate scene around selected vertex (this comes from "Rotate Around Selection" in User Preferences). Then change to other modes like Weight Paint, and Texture Paint. The vertex selected in Edit Mode REMAINS the pivot point for rotating the scene which DESIGNATES an area of interest to work with in OTHER Modes.

This actually did NOT work for Vertex Paint Mode or for Object Mode even in 2.64a. However, it was still possible to get it to work with Vertex Paint Mode and and Object Mode in 2.64a. Change to Object Mode. The object of interest is selected. Hit key to deselect the object. Tab into Edit Mode, and the previously selected object is in Edit Mode regardless of NOT being selected in Object Mode. Drag mousewheel (middle mouse) to rotate around selected vertex a little bit. Change to either Vertex Paint Mode or Object Mode, and drag mousehwheel (middle mouse) to rotate the scene around the RESIDUAL selected vertex from EDIT Mode. That was extremely DESIRABLE behavior, especially for SCULPT Mode.
%%%

%%%--- Operating System, Graphics card --- Acer laptop: Intel Pentium Dual CPU #2390 @ 1.86GHz; Ubuntu 12.04 (Linux). VGA compatible controller. Intel Mobile GM965/GL960 Integrated Graphics Controller. - Blender version with error, and version that worked --- Version with error: 2.65a and 2.66a. Version that worked: 2.63a and 2.64a - Short description of error --- User Preferences -> Interface -> check Rotate Around Selection; check Zoom To Mouse Position. In 2.63a and 2.64a, select a vertex of the mesh in Edit Mode. Drag mousewheel to rotate scene around selected vertex. Change to Sculpt Mode, and the same point that was selected in Edit Mode is used as the pivot center for rotating the scene. This was removed in 2.65a and also does not exist in 2.66a. In Sculpt Mode now ( > 2.64a ), one can only rotate the scene around the mesh's geometry origin point. I've come to the conclusion it must have been a serendipitous bug that was removed. The problem now is when you zoom into an area for sculpting that is a significant distance from the geometry origin, and try to rotate to a different angle, the area of interest quickly flies out of view. That makes sculpting extremely cumbersome if not impossible, whereas, before it was VERY easy. This might have been considered a BUG prior to 2.65, thinking that changing to Sculpt Mode from Edit Mode should change the scene's point of rotation to the mesh's geometry origin, rather than the residual point of rotation from Edit Mode. However, removing the bug made it FAR WORSE. Now the only area of interest that is EASY to sculpt is immediately around the geometry origin, and anything beyond that becomes increasingly impossible to sculpt. Before, it was very easy to designate an area of interest for sculpting, which also requires rotating the scene around THAT PARTICULAR area of interest. In Sculpt Mode, rotating the scene ONLY around the mesh's geometry origin is WORTHLESS for any mesh more complex than something simple like a sphere or cube. For example, consider a mesh of the human form, where the arms are outstretched. If you want to sculpt a fingernail on a hand that is a signficant distance from the geometry origin, attempting to rotate the scene to a different angle, the hand will quickly fly out of view. Effective sculpting requires A LOT of rotating around THE PARTICULAR area of interest. Some bugs are serendipitous and should be left AS IS, instead of removing them because of an INFERIOR theory of how it should be. Sculpting in 2.65a and 2.66a are now significantly INFERIOR to sculpting in 2.64a. Thank you. - Steps for others to reproduce the error (preferably based on attached .blend file) --- User Preferences -> Interface -> check Rotate Around Selection; check Zoom To Mouse Position. DESIRED behavior: In 2.64a, the blend file should load in Edit Mode with a single vertex selected. Drag mousewheel (middle mouse button) to rotate scene around the selected vertex. Change to Sculpt Mode, and the point selected in Edit Mode REMAINS the pivot center for rotating the scene. In other words, it's using "Rotate Around Selection" (User Preferences) In Sculpt Mode as a residual from Edit Mode. NOT DESIRED behavior: In 2.65a or 2.66a, perform the same steps as above. In Sculpt Mode, the scene now only rotates around the mesh's geometry origin. That is NOT a desired behavior as one can only effectively sculpt immediately around the geometry origin. Note: In 2.64a, one could also designate an area of interest for OTHER Modes by first selecting a vertex in Edit Mode, then dragging mousewheel (middle mouse) to rotate scene around selected vertex (this comes from "Rotate Around Selection" in User Preferences). Then change to other modes like Weight Paint, and Texture Paint. The vertex selected in Edit Mode REMAINS the pivot point for rotating the scene which DESIGNATES an area of interest to work with in OTHER Modes. This actually did NOT work for Vertex Paint Mode or for Object Mode even in 2.64a. However, it was still possible to get it to work with Vertex Paint Mode and and Object Mode in 2.64a. Change to Object Mode. The object of interest is selected. Hit <A> key to deselect the object. Tab into Edit Mode, and the previously selected object is in Edit Mode regardless of NOT being selected in Object Mode. Drag mousewheel (middle mouse) to rotate around selected vertex a little bit. Change to either Vertex Paint Mode or Object Mode, and drag mousehwheel (middle mouse) to rotate the scene around the RESIDUAL selected vertex from EDIT Mode. That was extremely DESIRABLE behavior, especially for SCULPT Mode. %%%
Author

Changed status to: 'Open'

Changed status to: 'Open'

%%%It seems this was because of a bugfix:
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52966

But this is very much a hidden "feature", maybe there's a better way to do it by rotating around the mouse position or so? You shouldn't have to go into edit mode and select something to easily navigate in sculpt mode.%%%

%%%It seems this was because of a bugfix: http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52966 But this is very much a hidden "feature", maybe there's a better way to do it by rotating around the mouse position or so? You shouldn't have to go into edit mode and select something to easily navigate in sculpt mode.%%%

%%%Vertices could be considered a selection in edit mode only, they shall not affect on other modes. Meaning when in sculpt mode selection is indeed the whole object. Frm this point of view there's no difference between object and sculpt mode.

Think more predictable would be to use 3D cursor and Center View to Cursor (which is Alt-Home) to define rotation center. This works quite nice when Cursor Depth is enabled. The only issue is that we don't have shortcut to set 3D cursor location form sculpt mode.%%%

%%%Vertices could be considered a selection in edit mode only, they shall not affect on other modes. Meaning when in sculpt mode selection is indeed the whole object. Frm this point of view there's no difference between object and sculpt mode. Think more predictable would be to use 3D cursor and Center View to Cursor (which is Alt-Home) to define rotation center. This works quite nice when Cursor Depth is enabled. The only issue is that we don't have shortcut to set 3D cursor location form sculpt mode.%%%
Author

%%%To Brecht Van Lommel, and Sergey Sharybin,

Thank you for your replies.

It actually was not a "very much hidden 'feature'." I would call it serendipitous, a happy or lucky coincidence. The reason it was not hidden is because Edit Mode and Sculpt Mode are the modes which alter the mesh of the object. If you were in Sculpt Mode and tab into Edit Mode, if you tab again, you're back in Sculpt Mode. Tab again and you're back in Edit Mode. BOTH modes affect the mesh, so they are logically related modes. Tab into Sculpt Mode, and select a vertex to designate an area of interest to rotate around, and simply tab back into Sculpt Mode to sculpt (rotate) around that designated area.

Quoting the reason for the change from the link supplied:
<< Fix #33510: Rotate around selection doesn't work when .blend saved in sculpt mode

Issue was caused by calculateTransformCenter not giving any center point in cases
object is in painting mode, which lead to previous offset used for view rotation.

Since this previous offset is a static variable, it'll mean rotation will happen
around scene origin after re-starting blender.

Now made it so viewport rotation will use active object's center as an offset
when active object is in painting mode.

Should behave in more predictable way. >>

The complaint was rotate around selection [when in other modes] does NOT get SAVED into the .blend file. However, now rotate around selection does NOT WORK at all, except in Edit Mode. The fix simply removed rotate around selection in all other modes except Edit Mode. Which means all other modes are now forced to work solely around the geometry origin. The solution did NOT SAVE the designated point of interest established in Edite Mode which was being advantageously used in other modes, rather the fix simply dismissed using rotate around selection in other modes.

However, after I got over my initial state of shock ("why is this thing not working"), I quickly realized there already is a way to solve this problem, but the steps are not as concise as simply selecting a vertex in Edit Mode then tabbing back into the previous mode.

Tab into Edit Mode. Select a vertex. + -> Cursor to Selected. Or set the 3D Cursor in any other way, such as in Object Mode. In Object Mode: + + + -> Origin to 3D Cursor. Now all Modes will rotate around the designated point of interest, because they rotate around the geometry origin. The bug fix was apparently an attempt to save the designated point of interest in the blend file, which it does because the geometry origin does get saved.

Note, from any other mode, such as Sculpt Mode, you still have to tab or change into either Object Mode or Edit Mode to set the 3D Cursor, then in Object Mode set the geometry orgin again (shift + ctrl + alt + c), and then tab back into Sculpt Mode. Also, the geometry origin is no longer the center of the geometry, although, that problem is easily solved (in edit mode, to select all vertices; shift + s -> cursor to selected; in object mode, + + + -> origin to 3d cursor.).

Before, you simply tab into Edit Mode, select a vertex and tab back into the previous mode and it rotates around the desired point. It was much simpler BEFORE, except for the fact that it would not save the value of the "static variable" in the blend file. But that was EASY PEASY. After re-opening the Blend file, tab into Edit Mode, rotate a little bit, which sets the static variable again, and tab back into the previous mode. Much easier as it was.

I'm over my initial shock now. I can live with juggling the geometry origin, although, it was much easier before.

Thanks a lot.%%%

%%%To Brecht Van Lommel, and Sergey Sharybin, Thank you for your replies. It actually was not a "very much hidden 'feature'." I would call it serendipitous, a happy or lucky coincidence. The reason it was not hidden is because Edit Mode and Sculpt Mode are the modes which alter the mesh of the object. If you were in Sculpt Mode and tab into Edit Mode, if you tab again, you're back in Sculpt Mode. Tab again and you're back in Edit Mode. BOTH modes affect the mesh, so they are logically related modes. Tab into Sculpt Mode, and select a vertex to designate an area of interest to rotate around, and simply tab back into Sculpt Mode to sculpt (rotate) around that designated area. Quoting the reason for the change from the link supplied: << Fix #33510: Rotate around selection doesn't work when .blend saved in sculpt mode Issue was caused by calculateTransformCenter not giving any center point in cases object is in painting mode, which lead to previous offset used for view rotation. Since this previous offset is a static variable, it'll mean rotation will happen around scene origin after re-starting blender. Now made it so viewport rotation will use active object's center as an offset when active object is in painting mode. Should behave in more predictable way. >> The complaint was rotate around selection [when in other modes] does NOT get SAVED into the .blend file. However, now rotate around selection does NOT WORK at all, except in Edit Mode. The fix simply removed rotate around selection in all other modes except Edit Mode. Which means all other modes are now forced to work solely around the geometry origin. The solution did NOT SAVE the designated point of interest established in Edite Mode which was being advantageously used in other modes, rather the fix simply dismissed using rotate around selection in other modes. However, after I got over my initial state of shock ("why is this thing not working"), I quickly realized there already is a way to solve this problem, but the steps are not as concise as simply selecting a vertex in Edit Mode then tabbing back into the previous mode. Tab into Edit Mode. Select a vertex. <Shift> + <S> -> Cursor to Selected. Or set the 3D Cursor in any other way, such as in Object Mode. In Object Mode: <Shift> + <Ctrl> + <Alt> + <C> -> Origin to 3D Cursor. Now all Modes will rotate around the designated point of interest, because they rotate around the geometry origin. The bug fix was apparently an attempt to save the designated point of interest in the blend file, which it does because the geometry origin does get saved. Note, from any other mode, such as Sculpt Mode, you still have to tab or change into either Object Mode or Edit Mode to set the 3D Cursor, then in Object Mode set the geometry orgin again (shift + ctrl + alt + c), and then tab back into Sculpt Mode. Also, the geometry origin is no longer the center of the geometry, although, that problem is easily solved (in edit mode, <A> to select all vertices; shift + s -> cursor to selected; in object mode, <shift> + <ctrl> + <alt> + <c> -> origin to 3d cursor.). Before, you simply tab into Edit Mode, select a vertex and tab back into the previous mode and it rotates around the desired point. It was much simpler BEFORE, except for the fact that it would not save the value of the "static variable" in the blend file. But that was EASY PEASY. After re-opening the Blend file, tab into Edit Mode, rotate a little bit, which sets the static variable again, and tab back into the previous mode. Much easier as it was. I'm over my initial shock now. I can live with juggling the geometry origin, although, it was much easier before. Thanks a lot.%%%
Member

%%%Hi Jerry,

You use a lot of text to explain a very basic thing. :)

Simply said - 3d painting and sculpting could store on each stroke a median location of where the stroke was applied, and use this for the "rotate around selection' feature.
That's not in Blender yet, but certainly cool to add. Goes on our todo!%%%

%%%Hi Jerry, You use a lot of text to explain a very basic thing. :) Simply said - 3d painting and sculpting could store on each stroke a median location of where the stroke was applied, and use this for the "rotate around selection' feature. That's not in Blender yet, but certainly cool to add. Goes on our todo!%%%

%%%Mae it so rotation happens around average of previous stroke when Rotate Around Selection is enabled. So think we could consider this is fixed now.%%%

%%%Mae it so rotation happens around average of previous stroke when Rotate Around Selection is enabled. So think we could consider this is fixed now.%%%

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
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
4 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#34818
No description provided.