Fix #126665: Restore 'Absolute Grid Snap' option #128135
No reviewers
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
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
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
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
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
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
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
7 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#128135
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "mano-wii/blender:fix_126665"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Absolute Grid Snap
still proves useful even with theSnap to Grid
,so reimplement this option and partially revert
f0479e915f
@blender-bot package
A build will be available for download for testing the
Absolute Grid Snap
.@Tilation, @Jonatan-Cwiakalski, @sean-murray
Package build started. Download here when ready.
Hi Germano.
First of all - thank you very much for your effort to restore the "Absolute Grid Snap" option. It is really heartwarming that Blender creators actually do care about users (not like big corporations - for example with name starting with "M" ;) ).
Now... having said that, I just downloaded this build:
And... unfortunately it seems like "Absolute Grid Snap" option doesn't work yet (despite the fact that the option itself is back - which is a good sign :) ). Here is a result of attempt to move an object from x position = 1.1384 m (to keep it consistent with #126665) to x position = 1 m using "Absolute Grid Snap" (on the left Blender 3.1.2, on the right - the above build):
As you can see in Blender 3.1.2 the object was successfully moved to x position = 1 m (as intended), but in Blender 4.3.0 Alpha it was moved by increment starting from initial position (which is "Increment" snap type behavior without "Absolute Grid Snap").
I hope "Absolute Grid Snap" can be brought back and... once again - thank you so much for caring. You are the best! :)
Best regards
Jonatan
P.S. By the way - you mentioned in #126665 that:
I made an attempt in that thread to describe why it is important for me (so maybe you will feel better working hard on it :) ).
@mano-wii
Thanks @Jonatan-Cwiakalski for testing.
The problem in the reported case is that the snap point used is the 3D cursor.
Problem solved now ;)
@blender-bot package
Package build started. Download here when ready.
Hello Germano.
Sorry for late answer but I wanted to play a bit with this new build.
First of all - problem is now solved indeed! And that made my week :). Thank you so much! You are like Gandalf for me from now on!
Now - having my beer drinked to that, I spent some time to explore snapping options and if you are interested - below you can find what I've found.
"Absolute Grid Snap" under "Increment" section
"Absolute Grid Snap" works like before, which is great (!), but it could work even greater because "Snap Base" buttons was added to "Increment"... but it looks like assigning proper behavior to all options ("Closest", "Center", "Median", "Active") was forgotten - they all act like "Median".
"Grid" section
On the other hand "Grid" respects different options from "Snap Base" but:
"starts snapping from grid point nearest to mouse cursor"
As for "starts snapping from grid point nearest to mouse cursor"... I don't know - maybe it was done on purpose, but here are my thoughts on that. It forces me to move attention from elements that I want to snap, to mouse cursor. So basically I have to place cursor near place where I want to snap before hitting "G", or allow elements to jump to wherever cursor is at the moment (which I find even more distracting) and start from there.
I would very much prefer starting snapping from original position of elements (basically hitting "G" makes them temporary cursor) because the whole focus goes to where my elements are and where I want to snap them (without worrying about cursor position).
Final thoughts
To sum things up, in my humble opinion it would be best to discard the whole "Grid" section and keep "Absolute Grid Snap" under "Increment" (after assigning proper behavior to "Closest", "Center", and "Active") because it does what I expect from "Grid" section. But if you would really like to emphasize snapping to grid by creating dedicated section, it should be (still in my humble opinion) adjusted so it would act like current "Absolute Grid Snap" (plus fixing "Closest", "Center", and "Active"). In that case keeping "Absolute Grid Snap" would be in fact redundant.
I tried to describe everything as clear and precise as I could, but if I failed and something is unclear - don't hesitate to reach me. Well... assuming that any of this sounds interesting to you ;).
Once again - thank you very much for working hard on Blender! (And - if you got to this point - for reading all of this ;)
Best regards
Jonatan
@mano-wii
Good to see that it's working as before. Bringing the feature back is what is proposed in this PR, so no improvements for now. (Unless it is something already discussed and approved).
It's an error, thanks for letting me know. "Closest" in 'Snap to Grid' is fallbacking to "Center" instead of "Median". In your file, "Center" is equivalent to the 3D cursor. The original design was supposed to be "Median". It will be fixed, but should be reported separately.
This is to work conveniently with 'Set Snap Base', Add Object tools, Measure tool, Drag and Drop and others transform operators (Rotate, Scale, Vert/Edge Slide...).
I recommend posting this idea in one of the feature request channels (https://developer.blender.org/docs/handbook/communication/user_feedback/#feature-requests) so we can see how the community responds. Remember to point out solutions for other features that currently support 'Snap to Grid'.
Hello Germano.
Thanks for the comments.
As for reporting - OK - I'll try to find some time to figure out how it works and give it a try.
As for:
As I mentioned - I'd prefer it the other way. But it seems like making everyone happy is impossible (although this could be a matter of users choice) unless we all became exactly the same (creepy). So... I was thinking... Would it be possible to create an addon that would allow me to change this behavior to fit my preferences? Or it would require digging in source code and deep knowledge about coding? I'm starting to think about at least try to learn some of that magic... so maybe one day I will be able to get what I want by myself...
Best regards
Jonatan
@mano-wii
In some transform operations other than Move (for example, Rotate), it is not possible to use snap based on the object's position. In most cases, the snap has to be to the point indicated by the mouse cursor.
For example, the Add Object tool, the 'Snap to Grid' has to be to the point on the grid pointed to by the mouse. (Same for Drag and Drop, Set Snap Base...)
We could change the snap only in the Move operator, but, in my opinion, making the new 'Snap to Grid' behave differently in the Move operation, although good for users already accustomed to the 'Absolute Grid Snap', can be bad for new users who have to notice the difference depending on the situation.
(Note that recently 2 bugs in 'Snap to Grid' were fixed. Snap to Grid with constraint was the most affected by the bug and now behaves almost the same as the previous 'Absolute Grid Snap').
In my opinion, bringing 'Absolute Grid Snap' back makes everyone happy.
(I can be wrong, but over the time, after bringing back 'Absolute Grid Snap', I imagine that it will start to fall into disuse).
@mano-wii even getting deep into the patch review I found some wrong. If Increment and Grid are both selected, Absolute Grid Snap should be deactive (with a tooltip explaining why: grid seems to force snap to always be absolute in this case):
Did I misunderstand how the feature is working?
@dfelinto,
In fact, 'Snap to Increments' does not work when 'Snap to Grid' is also enabled. This is because, in its current implementation, snapping to increments only works when no other snap elements are found. It's essentially a fallback option.
Since 'Snap to Grid' lacks a threshold distance, there is always a grid point available for snapping (either on one of the 3 axis planes or in 3D space), meaning it never falls back to 'Snap to Increments'. (A similar issue occurs with 'Snap to Volume' when used alongside 'Snap to Face').
This behavior is intentional, as we haven't yet found a way to integrate 'Snap to Increments' with other snap types due to their inherent differences.
The reason for this PR:
The reason for reintroducing 'Absolute Grid Snap' is due to certain differences from 'Snap to Grid' that many users found undesirable.
The key differences are:
Note: 'Absolute Grid Snap' changes the behavior of 'Snap to Increments', which, as mentioned, does not currently work alongside 'Snap to Grid'.
@blender-bot package
Package build started. Download here when ready.
Maybe good time to rename this to something more intuitive as well. Absolute Grid Snap was confusing before and will be even more confusing now with separate Snap to Grid. Maybe "Volumetric Grid Snap"
I have tested the PR. @dfelinto asked me to give feedback:
I think the snapping behaviour in this PR works well.
Rename Absolute Grid Snap to Absolute Increment Snap
@nickberckley has a good point regarding renaming in order not to confuse
Increment
withGrid
. Since "Absolute grid snap" is only available with snap targetIncrement
, I think it should be renamed to Absolute Increment Snap.Regarding Snap Base
Snap Base with Snap target
Grid
works in the same manner as withVertex
, which is good. If snap base behaviour should be changed for Snap targetIncrement
, I think that should be made in a separate design task for the sake of momentum (i.e commiting this PR to main)7980589f8f
to4d62d65405
Renamed to "Absolute Increment Snap" to avoid confusion.
I think most of the points have been covered. And the build is well tested.
I will continue the process of merging, backporting (and maybe adding it to the release notes tomorrow if all OK).
@blender-bot package
Package build started. Download here when ready.
Nice move.
Snapping to Grid is expected to have exclusively absolute behavior, but "Absolute Grid" wording assumes that non-absolute grid snapping behavior might exist.
"Absolute Increment Snap" wording indeed fits the functionality better (without it Increment Snap indeed has Relative behavior) which allow to avoid confusion.