WIP: Visualize snapping type by showing different symbols #107054
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
9 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#107054
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "erik85/blender:snap-symbols"
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?
To make it easier to see where a snap is happening, instead of a circle this patch draws different symbols for the most common snap types.
This applies to the ruler tool and transform in 3D View.
Build:
https://builder.blender.org/download/patch/PR107054/
Interesting proposal.
This is something I've worked on before, but the symbols I used were the same icons shown in the Snap Menu:
(The idea didn't sit well at the time)
I wonder if it wouldn't be nice to update the Snap Menu as well to use icons that represent those same symbols.
I would also like to know what motivated the choice of these specific symbols. Was it a community choice?
These are the symbols I'm familiar with from CAD software I've been working with previously. I can't show a screenshot here I suppose but make an image search for "object snap settings autocad" to see what I mean.
Could be any symbols I suppose, or even drawing an icon next to the circle or something like that. The important thing is to be able to very easily see which type of snap is active. This is essential for the measure tool to be useable in a production environment.
I would like to see the opinion of the
User Interface
team on this.Personally, I feel that the current 'single symbol' behavior has its advantage of being more "clean".
I'm also not sure about using symbols from other software (unless it's some international convention).
(Updating snap icons might be something for another PR).
I'm trying to use Blender for showing 3d models in a production environment where the users need to be able to grab measurements from the models, and it's pretty much impossible to find endpoints or midpoints as it is today. So I don't think cleanliness makes any sense as an argument. Useability should be much more important.
Ah, it's also good to remember that there are other symbols in the queue waiting to enter the transform code. See !104443
As the symbols in this PR may overlap with some new ones being proposed, it might be better to wait for them.
Nice, I haven't seen that. I'm unfortunately in a hurry because people are deciding the coming weeks if we should use Blender as I suggested or buy a subscription on expensive CAD software we don't really need. I guess I could make a custom build for internal use with these symbols until something happens.
That patch brings me joy :)
I find it great as it is. I don't see now #104443 interfers with this. If anything it raises the stake for the other patch to come up with icons following this language.
I don't know what the previous objections were for showing the snap icons, but I can imagine they would be in the way when shown exactly where the cursor is pointing. The thin circle, and shapes in this PR don't have that problem as much.
To use the snapping icons for consistency, it could show them out of the way a bit. Maybe at the bottom right of the cursor, or similar to the measure distance.
That is pretty nice!
With the endpoints having important information though, they can be obstructed at some angles and for some short distances. I would love to also consider something like this https://archive.blender.org/developer/D10128 which moves the measurement away from the endpoints.
Yes that is one thing among many improvements that can be made. I also tried showing the XYZ components separately too with red/green/blue colors. That give a much better sense of depth, and removes the need for the XYZ keys to lock the axes.
Another thing is if we want to support measuring on a touch screen, it would be much better to have drag and release to pick the points as it's impossible to hover to see the snap points.
I found the patch where I proposed something similar. In this link we can see the discussion in the comments:
https://archive.blender.org/developer/differential/0005/0005546/index.html
About this PR, it feels a bit incomplete that only the snaps for Vertice, Edge and Edge Middle have a special icon. It is understandable that Vertice and Edge Middle might require better differentiation. But it's not clear why to propose 3 new icons when only 1 (either for Vertice or Edge Middle) would solve the confusion.
To me the confusion is not only about vertex/middle edge but all 4 types shown in the gif can be confused with any of the other basically. That's why I proposed 3 new symbols to make sure each one has its own symbol.
Visualize snapping type by showing different symbolsto WIP: Visualize snapping type by showing different symbolsUsing the ruler on a subdivided plane/cube illustrates this pretty well. For coplanar faces and colinear edges you really need to be able to differentiate all different modes of snapping.
I think the symbols chosen work well and I like this concept of simple symbols in the viewport better than putting the icons next to the cursor. From the discussion posted by @mano-wii above it seems to me like the icons are just not designed for that purpose.
I also don't think it's too hard to adjust things a bit so it ties together with the icons. The vertex snap icon already has small squares for the vertices and e.g. the the center snap icon could be changes to have the small triangle to go well with this patch:
Another thing I tried is translating these two parallel lines of the edge snap icon into the snap symbol (rather than the "X"):
See the attached video.
What I like about that is that it also gives an indication in which direction the edge snap is constraining the cursor which also makes it overall work better on coplanar faces.
Though there might be some issues with readability, when the edge is very view-aligned.
Now that I think about it "Edge Center" sounds a bit strange. I think renaming it "Edge Midpoint" would make sense?
It looks nice that it follows the rotation of the line, but to me it looks like it would be a "parallel to" snap. And also maybe it's a bit strange to have all other symbols static 2D but one follows the geometry?
Instead of symbols, wouldn't it be nice to highlight the vertex, edge or polygon being snapped? I think it would be even more descriptive than symbols. But we would need to be careful not to disturb the overlay drawing.
Highlighting is rather disturbing for faces case, weak for vertices case, and also can be quite problematic for a heavy polymeshes, especially with modifiers, isnt it?
We already have symbols. This proposal improves on it. I don't think we should have highlight, but if anyone think so they can work on that proposal separately. I don't think it is something that justify getting on the way of this patch.
If this stalls it would be nice if this can be considered in either a UI or a modelling module meeting.
Coming from working with some very well known CAD program, this proposal makes very much sense.
I think higlighting the vertex/edge/face to snap to would be much more distracting than showing the proposed symbols.
Hope this patch makes it into master.
Any news if this will land for 4.0?
I will clean up the patch and request review.
By the way, now we are already using a slim X for Snap Base. To avoid the conflict with this proposal I would go a step further and change the Snap Base symbol to also the symbol of the snap which was used to select it. So if you picked a point as a Snap Base, it shows a square.
I think X fits nice because its lines intersection show the exact point which is useful, for example, during edge snapping.
a8076da279
to4ace5343ba
@erik85, I hope you don't mind. But I updated your branch with some changes discussed in #109062
The changes are:
I will update the description.
@blender-bot package
Package build started. Download here when ready.
I feel like I shouldn't have closed https://archive.blender.org/developer/differential/0005/0005546/index.html
Especially after @billrey and @pablovazquez were requested.
So I'm adding them as reviewers, (if have some time and interest in reviewing the PR).
@blender-bot package
Package build started. Download here when ready.
3c9ac8bcbd
to16cf7ed883
@blender-bot package
Package build started. Download here when ready.
16cf7ed883
to77726745a1
Penultimate change caused a regression on the
Snap Base
symbol and the snap symbol for objects origin.Fixed now.
@blender-bot package
Package build started. Download here when ready.
This was committed on
fb556c75df
. Thanks for your contribution Erik!I'm happy to see it merged in some form, have been too busy to work on anything lately unfortunately.
Pull request closed