Such kind of tasks are better be performed in vertices mode as well.
A better control, no ngons touched, less things to cleanup.
As far as I remember, ClĂ©ment Foucault said that changing selectionâs draworder is incredibly hard. There was similar task to draw selection on top of unselected mesh in wireframe mode to provide the ability to work with dense meshes like photoscans, or orthogonally projected geometry selection, where unselected mesh completely cover the selection, making its detection difficult.
Part of issue 666, still not solved.
AFAIK Clément is busy with eevee rewriting, so he is busy with quite massive task for a long time.
Ok I finally got some time to go through the replies.
I really like this in theory, especially when it changes dynamically based on what modifier keys are being held, but it doesnât really help in making it obvious what is happening.
Drawing a differently colored border around something is already being done in Blender and it rarely helps in making it obvious what the color actually means âŠ
Thatâs a really good point. I agree.
About your suggestions to the face dot overlay and settings to select partial or whole elements:
I really believe the toggle for the selection behaviour should also change the way the elements are shown. That way we reduce the amount of settings in multiple areas and the overlays have a logical purpose other than just a minor visual change.
So my suggestion would be to place the face dot setting somewhere, where it obviously says: This will affect the way you select things.
Just like when toggling the âExtrasâ overly off, you canât select any affected elements anymore.
Thatâs actually a good point. If the face dot overlay would be tied to the selection behaviour then it doesnât make sense to enable this when Xray is off. So it would become an overlay for Xray only.
I wonder if anyone uses the overlay at the moment when Xray is off and why.
Like you said that only makes sense if we switch out the button for something else like âSelect occlude geometryâ. But even then having it enabled all the time is not the same as what is being proposed.
The proposal is to select through occluded geometry on gesture selections (Lasso, box, circle select) and not regular clicks. Thatâs the reason why an auto-Xray toggle could result in the button lighting up whenever you do one of those 3 selection methods.
Also the proposal to make the selection behaviour the main toggle and the Xray display the sub-setting of that is a much bigger change that would affect almost every other mode as well.
Letâs try to avoid that.
Thanks for the mockup! This could be good to try out.
Thatâs actually a good point. I asked other artists at the Blender Studio and yes, they typically use vertex selection to deselect faces like that more reliably.
@LudvikKoutny What do you think about that?
From all of these comments I wonder why there is this distain towards using the Xray visualisation, even when fully sliding to 1.0.
Hereâs a comparison from a mesh selection visualised in both ways:
This is regular solid mode.
This would be solid mode with Xray toggled on without face dots.
The only issue I see here is that itâs still not very visible that there are faces in the back selected as well. Switching to wireframe mode makes it more visible:
But thatâs where the visualisation proposed @Yuro could help out (Also in wireframe mode sometimes if the mesh is too dense).
Thank you for taking the time to read through everything. Personally speaking, the problem with that visualisation is that being able to see behind every face like that adds a lot of unwanted clutter to the screen. I donât want to see every polygon thatâs behind in my super dense mesh - only the ones I select (Yuroâs mockup for example). More info onscreen â more things your brain/eyes need to keep track of â just more tiring in the long run.
The XRay is very useful for some situations of course, so obviously no one is asking to remove that. But there should be more flexibility in allowing users to change this behavior if they so wish, I would say.
I think the point is that I want to be able to modeling in x-ray, so no need to switch alt z too often.
And itâs still hard to do that with 1.0 x-ray, the complex meshes are easily distracting. Although it does solve the problem of visualization.
I donât think anyone would expect regular clicks to select occluded geometry unless Xray with face dots is enabled. I think that not seeing the indicator of behavior of the lasso selection prior to starting it is much bigger harm than handful of people thinking that click selecting will select the occluded geometry as well, which would not make sense.
I donât see his posts, I blocked him a long time ago and would like to stay that way.
In general, I donât want to be switching mesh element selection modes based on what kind of selection I want to do. That would then become another layer of endless frequent back and worth toggling, which would just replace the current xray endless back and forth toggling. I want to be selecting faces, which have areas, not just vertices, which are infinitely small points in space. I want to be able to select a face by just crossing it, not having to ensure all its 4 vertices are contained within the box. Vertex selection is NOT a replacement for face selection. If it was, we would never have face mode in the mesh edit mode in the first place.
When I would want to perform the usual workflow of selecting the entire volume and then deselecting what I donât need, I would need to make sure each selection box encloses all the vertices of given faces, not just intersects them, which is way more error prone and painful.
The fact people at Blender studio adopted a habit of switching to vertex mode when they want face selection to be reliable is actually funny proof of the unreliability of face dot based selection
You are using trivial model. This is Xray all the way at 1.0 opacity. It doesnât go any more opaque:
And hereâs a post where I explained it again:
Again, when taking screenshot for this post, the Xray opacity was fully at 1.0. Doesnât go any higher than that.
Yes, if Blender was just a tool for modeling lowpoly subd cartoony characters, this would indeed be less of an issue.
@JulienKaspar
Hereâs a link to Blender 3.1.2 with original Select Through patch by @Kio. Download it, and try it.
https://drive.google.com/file/d/1pDCWMqyOQV38rmcFbL9ICzYqXGxfM9gx/view?usp=sharing
Just tick on the Select Through checkbox:
and try to spend couple of dozens of minutes doing some random selections and modeling. Hopefully that gives you some perspective of why so many people want it. When Select Through is enabled, the Xray toggle becomes just overlay, which you can turn on or off according to your wishes, but its no longer mandatory. So thatâs up to you.
If there is a global toggle in the header that is called âSelect occluded geometryâ you would expect it to be for any type of selection. Itâs not obvious that it would only be for lasso, box and circle select. Only conventions from other software is implying that.
So itâs only obvious if you already know what the buttons means.
I think itâs important to consider that.
Maybe thereâs a misconception? You wouldnât need to enclose all vertices to deselect a face.
So the workflow would be that you select the area you want in face selection mode, then switch to vertex selection and you only need to capture 1 vertex of each face you want to deselect. This will already deselect the entire face.
Especially with box modeled geometry and ngons this can be very intuitive.
But yes, I can also see how the conversion between vertex and face selection could cause different issues.
And thanks for the visual examples. Can you make some comparison screenshots with xray on and off when in edge selection mode?
That would be a visually more accurate way of showing how noisy it is since it wouldnât have all the face dots in it.
Also no need to explain all the points again. I just want investigate what the best way of visualising the behaviour of automatically selecting though geometry could be.
The video you showed could also be clearer. I understand what youâre getting at but it mostly just shows that the current way of selecting is frustrating but not how many additional shortcut presses are required and how much time it adds. That would be a fairer and more helpful comparison.
I can try out the patch thanks. Iâm curious how it works differently to the latest patch.
But I donât think it will make the points more obvious than they already are. I fully understand the benefit of that behaviour.
Facedots is a tool for detecting mesh issues, so they are used during working with cursed imported meshes like photoscans, sketchup and CAD software imports in both shaded and wireframe/xray modes. Technically
- facedots overlay in solid mode is profitable during working with any non-vanilla models with unpredictable topology which is quite common situation, for example, in archviz or 3d printing (structure based reconstructive workflows).
- Artwork concepting or gamedev (shape based creative workflows) relies mostly on vanilla modeling with quite accurate and predictable topology, so facedots in solid mode does not play a significant role there.
Since our companyâs deity belongs to a wide range of workflows, we use facedots in solid mode for constructive and reconstructive workflow sets and just donât always turn them off during creative workflow sets, checking topology in edge mode when it is needed and having visual edge/face modes differentiation.
We both has come from 3dsmax, but with a decade delay (me in 2008, Ludvik in 2018), so Ludvik technically making the same path I already made.
There is the core difference between 3dsmax and Blender selection systems:
-
In Max/Maya selection is not convertible by default - selections in verts/edges/faces modes are 3 different selections. So during working in max or maya you learn to think in vertices, edges or faces separately. Such an approach definitely covers some workflow range, for example, it fits box modeling pretty much well.
-
In Blender selection is convertible (vertices selection form edges and faces selection, and vice versa),
it also has more structurally flexible mesh (verts can be copied, extruded to edges and edges can be extruded to faces)
some features like facedots and selected vertices-to-edges highlighting allow to detect mesh issues and mesh tearings,
so this system provide a better control over selection and is more profitable in general, since such a system fits wider range of workflows, including working with cursed meshes which is painful almost anywhere else.
For sure, it took some time and efforts to understand the profits of a system presented in Blender after a decade of using 3dsmax, and it also required performing wider range of workflows rather than vanilla modeling.
Conventions from pretty much all other software. But the main point is that single click occluded selection just doesnât make sense here, in any mode. Why would the user assume something that does not make any sense works?
If we exclude xray face dots, then there are 6 possible combinations. 3 mesh element selection modes and transparent drawing drawing on/off for each of them.
- Vertex mode, opaque drawing - You obviously wonât expect to be selecting vertices you do not see. You wonât be clicking random spots on faces hoping to end up selecting some vertice you do not see underneath, so you wonât be even attempting that.
- Vertex mode, transparent drawing - Vertices are non overlapping singular points in space, so if you can see them, you expect to be able to select them.
- Edge mode, opaque drawing - exactly the same case as vertices.
- Edge mode, transparent drawing - almost same behavior as vertices, except when foreground edge occludes background edge. In such case, Blenderâs ordered selection where the foreground element has first priority applies well.
- Face mode, opaque drawing - This is straight forward. You do not see occluded face, so clicking can not select them.
- Face mode, transparent drawing - Here, the ordered selection would be expected as well. Unfortunately, in this case, Kioâs patch does not work that well yet, as it still uses face dots, they are just hidden. But expected behavior would be that the top face always gets priority.
The thing is, this is already exactly how it works in Blender already, so this would not have to change for 5 out of 6 of these cases.
But you need to enclose all of them to select it. So you are running into annoying territory where you need to use different approaches for selecting versus deselecting the elements. If I want to deselect the face, I can either:
1, Switch to vertex mode
2, Deselect one vertice of the face to deselect it
3, Switch back to face mode to continue my face based selection task
OR:
1, Drag a selection box that intersects anywhere on the face to deselect it
Itâs 1 versus 3 steps.
Vertex mode, xray off:
Vertex mode, xray on:
Edge mode, xray off:
Edge mode, xray on:
Face mode, xray off:
Face mode, xray on:
@JulienKaspar To me it doesnât make sense to have a different overlay between Select whole elements and select partial elements, because there is no practical way to do so. This has to be a selection setting. I sincerely doubt anyone would be confused after one dragging operation. If itâs in the wrong mode you change it. This could be a button in the toolbar next to the Add/Substract/Intersect options that users coukd keep an eye on. Besides, those options donât have a dedicated overlay either. Neither for the buttons nor for the keymap, itâs a slippery slope argument imo that selection modes should be indicated with a special overlay, one that cannot be uphold even in the current Blender versions. Also, no one ever complained about Select whole element or partial elements in the many software packages I have used over the years, unless there wasnât a way to set left-right, right-left, enable/disable options.
I agree with @LudvikKoutny that mode changes for face selections are too cumbersome. We try to address this here for X-ray, but should be complacent when it concerns other selections. I beg to disagree and to also tackle that.
Select through for single clicks is not what I would expect. How would you even toggle Automatic X-ray in between mouse press and mouse release? You would have to toggle X-ray/ wireframe for such occassions anyways. Or rotate the view. If not, and I assume select through is enabled for a click, with both multiple modes enabled, you could run into the issue that you select random vertices on the other side of the mesh without any clue beforehand.
Considering all the needs expressed earlier in the topic, I made the aforementioned proposal. I know @1D_Inc is keen on having a dedicated facedot overlay toggle (for the reasons he explained) , so thatâs why it should remain an optional overlay. Though this overlay could and should be affected by facedot selection options.
To me, all the user needs expressed in this topic are valid and I honestly think there is no skipping corners on this one. Thatâs also why the patch may seem convoluted with options, but if you think about each of the options, they all make sense for real workflows. We can mitigate a bloated UI by adding options in the preferences, drop downs or the active tool settings.
Thanks for the extra screenshots @LudvikKoutny !
Different viewport shading and use of edge tagging can really make a huge difference.
Iâm starting to think that all of the suggested features should be part of the tool settings for the selection tools. Similar to Kioâs patch.
This has the advantage that they are communicated to affect the box, lasso and circle select operators and not regular selection. These settings would also be very visible.
This also makes sure that the behaviour can be customised if needed.
The setting would then also only appear in the modes where they make sense = Just Edit Mode most likely.
In that case there would be additional toggles in for for each selection tool (other than Tweak):
-
Select Through
Always select through geometry. The Knife Tool even has a similar setting.
Disabled by default. -
Auto-X-ray
Xray is automatically enabled while using the tool.
A sub setting of âSelect Throughâ. Unusable and greyed out if the prior setting is disabled.
Enabled by default. -
Select Whole Edges / Select Whole Faces
Two separate toggles. Only select elements that are entirely captured by the selection. If disabled it will select elements if any area of the element is covered in the selection
The Face Dots overlay would override this setting.
The defaults would align with the current Blender behaviour.
These options should also be added to the keymap entries and Adjust Last Operation menu for the default operators as well.
The other feature request is that face dots can be turned off when using Xray and that the setting affects where you need to click on faces to select/deselect them.
This doesnât need to be a tool setting because it affects all selections in edit mode only when Xray is enabled.
Both of these features (new tool settings and face dots) can be handled separately.
It is crucial that this option is synchronized between all 3 lasso tools (box, lasso, circle). Otherwise it would be very painful to constantly wrangle this setting per lasso type. This is a workflow preference. I can guarantee you there will be close to 0 people who will want to have different behavior per lasso type. So letâs not pollute tools with settings no one uses. Blender is already full of those, we donât need to add more.
This is very confusing? Is Occlude Geometry the âSelect Throughâ mentioend above? Or is it yet another setting? Do you mean Xray as in just drawing the mesh transparent, or do you mean Xray also as the thing that enforces face dot selection.
It would be horrible if this was in the tool settings. This is once again a workflow preference. It should be in preferences. It should be extension of this patch: https://developer.blender.org/D9180
Right now, the current state of the patch has just a simple checkbox, which toggles between current Blenderâs âadaptiveâ selection, where in edge mode, sometimes edges are selected by intersection and sometimes by containment. The patch adds a checkbox, which if checked, changes it so that when the selection is in left to right direction, all geometry which overlaps the lasso is always selected, and when the selection is made right to left, only geometry which is fully contained inside the lasso is selected.
I propose to extend this patch by 2 additional settings, so weâd have 4:
- Adaptive (the current state)
- Directional (what the patch does when the checkbox is enabled)
- Select Overlapping (always selects everything that overlaps the lasso)
- Select Contained (always selects everything that is fully contained by the lasso)
It would be a simple Enum dropdown menu and everyone could select their workflow preference and forget about it, instead of constantly having to tinker with some tool settings.
But, for the love of god, donât turn the tool settings into kitchen sink of checkboxes and knobs. And especially not per lasso type specific settings. There truly is a potential to make things ever worse than they currently are.
To elaborate further. By introducing so many options, and their different combinations (3x3=9 possible combinations) you are opening a door for combinations of the options no one will want to use. For example, no one should want to use Select Through mode with Xray disabled BUT Blenderâs adaptive selection enabled. Letâs say you have a simple cube in vanilla Blender without select through patch:
You can make either selection with Xray off
And get this outcome:
You get 3 intersected edges selected.
Or you can make the same selection but with Xray on:
And you will get only the fully enclose edge selected:
Now imagine you have the âSelect Throughâ option, but that option does not implicitly disable the âAdaptive selectionâ, and you have Xray off. In other words: Select Through ON, Xray OFF, Selection Mode: Adaptive (Blenderâs default):
Suddenly, you can make this selection:
And then be confused, why havenât been these 3 edges you have overlapped selected?!
Just for you to turn around the mesh and realize the edge you havenât seen has been selected, because it fulfilled the criteria of there being at least one edge fully contained by the lasso.
Thatâs the point I am trying to make. When having the many interdependent toggles like select through, xray transparency, face dots and selection style (adaptive vs always overlap vs always contain), you will inevitably get multiple combinations that do not make sense. So it makes more sense to reduce amount of these knobs so that these senseless combinations can not exist.
Thanks for your effort Julien to dig into this thread, work with to community, and try to tackle this but wow, Iâm starting to think itâs better to do nothing than to add countless options and toggles and whatnot for something that should be very simple.
Yeah Iâll definitely tell edges to not use adaptive with select through in my build. Not going to remove the option to force all edges select because I kinda like being able to do that, but will be sure that this is checked for. Not an issue as far as making it happen, and for now I will either hide it or grey it out when applicable.
@ManuelGrad
I think these guys are getting close to something already.
Making facedots tied directly to face selection removes one toolsetting. It is more consistent as far as âif you see a facedot, that is what you need to have inside your select area.â It does make it where if you are used to that way it is right now, and want to see facedots in solid shading but not actually select by them, youâre forced into changing. I donât think itâs too big of a deal, but who knows. No individual tool control removes all of the âlinkâ stuff, and select through keymap isnât happening.
What weâre left with is xray, with the option to be âautomaticâ during drag select. Possibly select through with a overlay drawn for all selected elements to make it clear whatâs going on. Maybe select faces by fully enclosed, and the forcing of intersected edges. Facedots might get the ability to turn off in xray, or they just get forced off by select through when itâs on.
That is 1 checkbox for autoxray, with the possibility of 1-3 more for select through, enclosed faces, and intersected edges.
With Select whole elements, partial elements and directional, is there even a need for adaptive selection? I mean, doesnât this patch remove its usecases, now that selection modes can be toggled explicitely?
Do you refer to cases like that, when facedots of a green ngons are not accesible in solid mode, and difficult to access in wire mode, so selecting only by facedots making those ngons inaccessible?
What âselect whole elementâ term stands for?
It sounds like it is about selecting whole mesh chunk by single clicking on it.
If âselect whole elementâ refers to âdirectional selectionâ, so they are supposed to be mutually exclusive with the adaptive one.
Technically, adaptive selection is an approach that supposed to provide maximum flexibility for non-directional selection type. If to try to design an approach that avoids directional differentiation, you will get adaptive one.
@JulienKaspar
I think the changes should be additive, not replacement, or at least trend to, since current realization fit widest range of workflows and allow to cope with (benefits in) heavily tangled topological cases presented in reconstructive workflows.
I mean in general, it would change solid shading face select to be the same as xray. Good example why it would force you to turn off facedots temporarily to select that. I think it works ok, but does lead to this situation.
On one side you have the abilityto select by face area in xray, which leads to how to deal with solid shading, and how to present the information clearly. And on the other side you have leaving it alone because itâs adding a little too much for a wider userbase / cleaner UI.
Put another way:
Solid doesnât use facedots for selection, only visibility
- Should solid shading get facedot selection?
- If solid facedots are used for selection, should it be enforced by facedot visibility for simplicity and consistency, or should it be controlled by a toolsetting for flexibility and preservation of current behaviour?
Xray only uses facedots for selection, and cannot turn off their visibility
- Should xray gain face area selection (the way solid shading works) for flexibility?
- If Xray does get face area selection, should it only be available if facedots are off (simplicity / consistency) or should it be more flexible and add a toolsetting? Also, should facedots be able to turn off in xray, or is this strictly enforced by select through being on/off, assuming that select through is added?
Select whole elements refers to select contained, i.e. select a face or edge if it is fully within the selection window. Select partial elements is the opposite, where any face or edge that crosses/ overlaps the selection window is selected.
Can someone explain to me what you mean with adaptive selection? And also how that relates to directional selection and selecting whole elements/select contained?