Page MenuHome

Proposal: Blender 2.8: Wireframe, Select Through & X-Ray
Closed, ResolvedPublic

Tokens
"Like" token, awarded by 0o00o0oo."Party Time" token, awarded by Alphisto."Love" token, awarded by dpdp."Like" token, awarded by KINjO."Like" token, awarded by budip."Love" token, awarded by razgriz286."Like" token, awarded by duarteframos."Love" token, awarded by xrg.
Authored By

Description

In Blender 2.8, we have a handful of related features that we want to make more consistent and useful by making a series of slight changes.

Current issues:

  • It’s a hassle to enable Wireframe View, requiring multiple steps and settings to set up.
  • X-Ray mode and Occlude Selection are both mapped to the Z key, but the latter is only available in Edit Mode, creating a conflict. If you go to Edit Mode with X-Ray enabled, you can't disable it with the Z key.
  • X-Ray mode and Occlude Selection are different modes, even though they appear to give the same visual effect.

Here’s an overview of how we could go about fixing these problems:

  • Introduce a distinct Wireframe mode
  • Merge X-Ray mode and Occlude Selection, and consistently map it to the Z key everywhere
  • Wireframe Mode itself would still enable you to toggle X-Ray, acting as a way to switch between front-facing wireframe view or see-through wires.

Wireframe mode could be enabled as a viewport display mode:

X-Ray & Occlude Selected to be merged and become consistent across Edit Mode and Object Mode.

Wireframe Mode would looks like this:

If X-Ray Mode is enabled, Wireframe becomes see-through:

Details

Type
Design

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Two suggestion to consider from Modo, whose selection functionality is one of its' greatest assets:

  1. LMB defaults to select visible, while MMB defaults to x-ray selection. The display mode (wireframe or otherwise) and selection modes are completely decoupled.
  1. When you have something selected on the other side of the mesh, it's visible through the model. This prevents selecting something on the other side by accident and not realizing it. See image: [removed]

@William Reynish (billreynish), @Clément Foucault (fclem), maybe it's just a lack of presets, but to me wireframe + x-ray just seems like an important enough mode in itself that you want to be able to work in it and switch to quickly. Solid + x-ray seems like something you might switch to temporarily but not really stay in, the lack of clear depth makes it quite disorienting.

In my opinion we should either decouple the x-ray setting between these modes, or add more modes. I just can't think of a case where if I switch on x-ray in wireframe, I would also want that in solid mode automatically.

@Petter Lundh (plundh), please remove the screenshot, we can't have screenshots from other software in Blender design tasks.

I don’t think we should add another wireframe mode, just to toggle transparent back faces on or off. We already have the X-Ray option exactly for that purpose.

Another thing we could do, is to make the X-Ray toggle visible in the header. This way it becomes easier to see if it is on or off, and considering the fact that it affects selection, it’s important to have quick access to it.

I agree with @Brecht Van Lommel (brecht) on the decoupling of the xray settings for wireframe and solid mode. In practice it's just easier this way since you would otherwise constantly use the pie menu twice in succession to switch modes & xray. If each mode remembers their own xray settings this could fix the issue.
This can be an optional setting like the "Lock Object Mode" is. Adding an option in the preferences for "Lock Xray Settings" would be my suggestion.

Edit: Perhaps this idea can be expanded to the shading options in general, which basically just means that the outline settings would also remembered by each view method (since all the rest are individual to each mode).
I would rather have an outline shown in wireframe since there is not other implication of intersecting objects without shading than I would like to have it shown in solid mode, where it's much more visible anyway.

I think if the X-Ray toggle is in the header, just like Occlude Selection was, then it's always clear which state you are in.

It'd be quite jarring if X-Ray (which is now mainly a selection thing) toggles itself when you change shading mode. It's like if Vertex Select would Change to Face Select just because you change to LookDev. They are independent things. One is a shading mode, the other is a tool setting to allow selecting through or not.

The user will either want to select through or not, but that doesn't necessarily correspond to being in wireframe mode or not.

Your example of having to use two keystrokes is only valid if you consider Wireframe + X-Ray to be the 'true' wireframe mode. The paradigm difference in 2.8, is that wireframe is not needed for normal selection anymore. X-Ray has essentially replaced wireframe mode as the main way to select through items.

In 2.8, Wireframe mode is just a shading mode, not (as it was in 2.7x) the way to select through objects.

Hiding backfacing wires produces, in most cases, a more readable wireframe view, and if you really want to see and select through, we have the X-Ray setting exactly for that purpose.

Lastly, when the above proposal was written, I imagined we would continue to use the Z key to directly switch X-Ray on/off, which would make it faster that it is now, and more naturally used for toggling the selection setting.

The Shading Mode pie menu, which I think you would use less often than X-Ray on/off, could be moved to Shift-Z.

That said, the current Z-key behaviour has some advantages too, in that everything is bundled together in an easy to remember shortcut.

@William Reynish (billreynish)

They are independent things. One is a shading mode, the other is a tool setting to allow selecting through or not.

In 2.8, Wireframe mode is just a shading mode, not (as it was in 2.7x) the way to select through objects.

True. But it's not just about selecting through, it's about seeing through as well. Using wireframe mode coupled with xray let's you see through the mesh completely while still giving you enough information to see through an abundance of objects while still making out individual shapes. In comparison it's much harder to see through solid mode with xray unless you turn the xray alpha setting way down but at that point the objects may become too invisible.
OR some users find the wireframe with xray too busy with high polycounts and find the solid xray way more usable for selection and seeing through a scene and would rather never use wireframe with xray.

Any of these combinations have of course great uses for different tasks but that`s why certain combinations are preferred by different people. I'm not saying that wireframe + xray is the "true" wireframe mode, but it can be sometimes, and an option to lock or unlock these settings for each mode can really help a lot to avoid unnecessary switching.

This would still work with the z shortcut and an xray button would give that extra context of which mode is using xray currently. If it would be used for more modes than the ones we had then it might become jarring if you don't know about the setting but then if can also be tunred off. There are many settings in the preferences that are a blessing for some and breaks the workflow of others. That's why I recommend this to be optional.

Edit: And I don't mean locking these settings completely. It's like with "Lock Object Modes". The view modes would remember their settings but they can still be changed at any time.

Simple idea (but might be very bad):

It's pretty simple and it's like having a preset:

  • Using Z shortcut restores the last Viewport config and save the current one (basically toggling between 2 preset).

Problem I see with this is that it's really easy to edit one state by mistake and workflow can become messy.

About the solution that @Julien Kaspar (JulienKaspar) & @Brecht Van Lommel (brecht) are in favor to: I don't mind an extra option for having a dedicated Xray option for the Wireframe mode.
But I agree with @William Reynish (billreynish) that it should be OFF by default to coherent with the new visibility/selection paradigm.

On a slightly different tangent, selected items in Wireframe Mode seems to display slightly strangely when you disable Overlays.

Overlays on:

Overlays off:

At least on my system, edges of selected objects have a choppy shimmering effect when overlays are off.
It's a funny thing, because the selection outline is normally an overlay setting, but here the wires are not overlays, so how to display selected outlines without Overlays?

my 2 cents of suggestion ...
do not slaughter me for the bad graphics I'm lazy :P

@Clément Foucault (fclem) I agree that it should be turned off by default. This added option can make it really confusing if the user are unaware of it.

At least on my system, edges of selected objects have a choppy shimmering effect when overlays are off.

That is normal that's a limitation of the new wireframes.

It's a funny thing, because the selection outline is normally an overlay setting, but here the wires are not overlays, so how to display selected outlines without Overlays?

That's the thing! You can't! Because it's an overlay. Wires are being forced but all other overlays aren't.

right now i use 'Q' quick favorites for wireframes and overlays ,i think Alt-Q(not mapped to anything yet) could be used to switch wireframes on/off or reverse it like in 2.7x , Z for wireframes and Alt-Q for x-ray....and same in edit mode, Z for Occlude Selection and Alt-Q for x-ray.

About the solution that @Julien Kaspar (JulienKaspar) & @Brecht Van Lommel (brecht) are in favor to: I don't mind an extra option for having a dedicated Xray option for the Wireframe mode.
But I agree with @William Reynish (billreynish) that it should be OFF by default to coherent with the new visibility/selection paradigm.

Ok, can we just decouple the setting between the two modes then? @Clément Foucault (fclem), can you implement that change?

I still think X-ray really should on by default for wireframe mode though, I think it's what users expect from a wireframe mode and what is the more commonly used option. If all you care about is seeing the unoccluded wires you might more likely use wireframe overlay in solid mode.

I agree with @Brecht Van Lommel (brecht) here.

Decouple X-Ray from Wireframe/Solid

Off in Solid. On in Wireframe. The Shading popover layout already changes between modes, nothing wrong or unexpected to have a setting be different while in either mode.

X-Ray on in Wireframe Mode

The value itself is debatable, 1.0 seems to give the most readability though:

X-Ray 1.0:

X-Ray 0.0:

X-Ray 0.999:

I completely agree that it would make perfect sense to do this decoupling, IF X-Ray was just a viewport option.

But that's the crux of the issue: It's not. X-Ray is a selection option, more like Vertex/Edge/Face select. It's not a viewport shading option now. I think everyone is confused because the X-Ray option is in the Shading Popover.
That's why we have to move the button where the Occlude Selection used to be, and why we I still don't think we can't do what you suggest.

It's the exact equivalent if changing to Wireframe Mode would automatically change into Vertex Select mode. You would not want that. Likewise, changing to Wireframe Mode should not mess around with selection settings.

I'll implement the changes but we first need to agree on what to do exactly.

I don't believe there is such a clear distinction between shading and selection. X-Ray significantly affects both what you see and what you select.

At the end of the day, switching between a useful wireframe and solid mode view is just annoying and slow for me now, and I think a lot of users will find the same. That is the issue we have to solve. I don't care if the button is visible in the header or in the pie menu, it doesn't change that.

I think the confusion is because Wireframe used to be an easy way to get to 'select through'. Now we have the X-Ray Select option instead. The new pie menu also confuses things I think, because it mixes the shading modes with the X-Ray Select option, and it's not so clear if you should use X-Ray or Wireframe. If you come from 2.7x, you might want to use Wireframe for this, and then expect it to be see-through by default. But that's all wrong.

If we keep using the design proposed in this document, X-Ray has now been combined with Occlude Selection and is a selection thing. Wireframe is a viewport shading thing.

Here's one way to solve it:

  • Rename X-Ray to X-Ray Select
  • Remove the X-Ray toggle from the Shading popover (we can keep the slider, because it's just a visual thing)
  • Add back the old button in the header with the same icon we used to Occlude Selection

Now, to solve the problem that's been discussed so many times here, where some people want Wireframe to default to see-through wires, we could do that in another way:

We could add a Hidden Wire toggle in the Shading popover, which does not affect selection.

Well but I have to disagree that it's "not a viewport shading option". It's both. That's why the occlude selection and xray got merged, to make it both a shading & selection option. So it should be regarded as both. I agree with @Brecht Van Lommel (brecht) here but I get the frustration.

The proposal to "add a Hidden Wire toggle in the Shading popover, which does not affect selection" sounds like a step backwards in terms of merging the two settings before. Doesn't it cause the same issue the merge intended to solve?

If we do that, what is the purpose of X-Ray in wireframe mode?

  • With Hidden Wire off and X-Ray off, it would be confusing if you could not select all the edges that you see.
  • Hidden Wire off and X-Ray on would be the same or very similar to Hidden Wire on and X-Ray on.

I'm fine with renaming X-Ray to Hidden Wire in wireframe mode (though we need to resolve the conflict with the existing option with the same name). But I can't see how it helps to have both settings in wireframe mode.

Well, it's both in the sense that we've always tried to display what you can select. In 2.7x, when you disable Occlude Selection, you see the backfacing wires in Edit Mode. Even though it's a selection setting, Also, when you change from Vertex/Edge/Face select mode, you see different things on the mesh to make it clear what you can select. So in that way, the selection modes always affected the visual display a bit, to make things clear.

Another thing: There's an unstated assumption here that the see-through wires are the 'real' wireframe mode. Are we sure this is the case? I have a feeling that that is only because it would look more like 2.7x if it were see-through by default. Having the backfacing wires hidden can be just as useful.

All that said, this is not the hill I wish to die on. If you really think we should do the decoupling, I won't be obnoxious - I just think it's fundamentally wrong for a shading mode to change the selection mode also, and will confuse users. They will tell Blender to not select through, and then change to Wireframe, and then suddenly it's changed, from under their feet. Now the selection behaves differently, just because you changed the shading mode. Then they tell blender to select through and go to a different shading mode, and it's changed again, because there's a different flag for different shading modes.

Fundamentally it comes down to this: In X-Ray mainly a tool setting or mainly a viewport shading setting? Your answer will inform your opinion.

I think of it as though the old Occlude Selection has just become more consistent across the modes, and I don't think of it as a viewport shading thing.

brecht: What I meant was not that - I meant that we could include an option for Wireframe mode to always display see-through wires, even if X-Ray is off. It would not change in Edit Mode vs Object Mode. This option would then not affect selection, although it has the potential to introduce confusion. Currently it's clear that you can always select what you can see.

@William Reynish (billreynish) but x-ray is not a selection option right now, by its own it's not sufficient to allow for (precise) selections through objects, for that you need to have the wireframes drawn; everything is fine in edit mode, but in object mode one would always need to change two settings in order to do a very common and simple thing like selection (and two more steps to return to a pure solid mode).

If this it's supposed to change in the near future I would definitely agree with you in this, but if that's not the case then I don't honestly see an alternative to a pseudo-2.7 wireframe mode with x-ray on by default.

X Ray is a selection option. That’s what it’s for.

But Ok ok, if wireframe Mode is mainly for selecting things anyway, I suppose one could argue that X-Ray can also be decoupled then. Adding all sorts of extra options is also annoying. Go ahead and do the decoupling thing then. If it becomes confusing we can review it later on.

In some 3D softwares, the Wireframe mode usually has two options (toggle), Lines and Hidden Lines, and those options indeed affect the selections.

Currently in Blender, when you enter the Wireframe mode (X-Ray Off), it behaves exactly like Wireframe with Hidden Lines enabled, and with the "X-Ray On" it is Wireframe with Lines enabled.

In addition to this, there's also the true X-Ray mode (Global and per object), which pretty much just makes the faces transparent, but that never affects the selections.

So ideally, the Wireframe mode could have those 3 options, the lines options (as toggle) and the separate true X-Ray mode.

Something like this:

With the Lines being the default option enabled.

My main fear with just doing the decoupling and no other changes, is that then we are back to 2.7x - the easiest way to select through will be to switch to Wireframe, because we've removed a header button to turn on Occlude Selection and added a Wireframe button. Having to switch to wireframe just to select through is jarring and often unnecessary. We would then have gone full circle and ended up back where we started,

So, how about this:

  • We do the decoupling thing
  • X-Ray is on by default for Wireframe, as some people have suggested
  • A toggle to switch X-Ray on/off is put in the header, just like the old Occlude Selection, next to Vert/Edge/Face select. We can just use the same icon as Occlude Selection

This way, we at least don't bury X-Ray, and make it obvious that you can (should?) use it for select through, rather than having to go to wireframe mode.

Ok, all agree? :)

I totally agree :D
There should be a toggle in the 3D view header just as there always was. This information is essential enough to not have it buried it in the shading popup.
I'm unsure about the placement though. Shouldn't it rather be next to the shading popup since they are related and more xray settings can be found in that popup? But then there needs be some clear separation from the mode buttons since it could easily be misunderstood as its own shading mode.
If the toggle is placed way over to the left instead I think it's easy to not make the connection to the xray settings in the shading options. People will assume that it's two settings like before.

Or maybe you meant " just like the old Occlude Selection, next to Vert/Edge/Face select" more as in: "that setting that used to be there", without saying the new toggle should be there as well?

In some 3D softwares, the Wireframe mode usually has two options (toggle), Lines and Hidden Lines, and those options indeed affect the selections.

Freestyle uses the adjective Hidden , too. But to reveal these lines at render. It may be confusing.
But seriously, copying other software does not seem to be a good idea, here.

I understand the wish to simplify blender by getting rid of Occlude mode. But it makes things clearer if there one option for selection and another one for display and they are not mixed together and user is free to combine them as he wants.

Another thing: There's an unstated assumption here that the see-through wires are the 'real' wireframe mode. Are we sure this is the case? I have a feeling that that is only because it would look more like 2.7x if it were see-through by default. Having the backfacing wires hidden can be just as useful.

No, there is no doubt that backfacing lines are giving info about mesh structure. If they are not there, 3D volume of object is a lot harder to perceive : user have to guess it with just contours and front crease lines without shading. An occluded mesh in solid mode doesn't show the whole structure but its shading helps to appreciate depth and length of its edges.

Jumping to wireframe mode to see through the mesh is a quick way to inspect that things on backface are correctly aligned to what is in front faces.
Same principle than trying to align a screw and a bolt through an hole in a glass plate. It is easier if the glass plate is clear and has no refraction, no opacity. So, it is easier to do that in wireframe mode than in a solid mode with a see through option.

Other use of wires is to create a discrete helper. In solid mode, you use empties, wire custom shapes for bones to make them discrete but visible selectable other the mesh.
Jumping to wireframe mode gives you an idea of how complex a rig is by seeing the relationship lines.
Adding semi-transparent faces on top of that just may confuse the reading of lines in case of big flat surfaces like walls in architecture or mechanical work.
X-ray is probably better on Spring characters than on buildings.

So, default for Wireframe slider should be 1.
X-ray Off in a wireframe mode does not bring anything to user. It is equivalent to a flat shading in solid mode.
Playing with values of X-ray slider is a cool customization of lines opacity. But X-ray off has no interest. It is a flat shading without colors.

So, X-ray toggle could be ignored in wireframe mode. And toggle could be limited to selection restriction.

In Solid mode, it can be interesting to have a decoupling of X-ray toggling and selection restriction. When user knows that a particular element on front faces have an equivalent on back faces that is aligned.
He does not want or can't use mirror selection for some reason. And mesh details on back faces are more complex than front faces. In that case, only displaying front faces will simplify a selection through the mesh.

Hidden wire corresponds to a need to see another object behind only front faces of mesh. You don't want the other object to be transparent, too.
But it is not sufficient. Some people will want this ability without backface culling of wire lines.
In object mode, this need will be covered by object property Display as Wire. So, a pie-menu is needed for that. It is really common to change that (not just for smoke domain).

About subdivision modifier, optimal display of wire is also something that people are waiting for.
So, I hope that we can close the debate quickly. X-ray Off in Wireframe mode -> useless.

This is something I can understand and also relate to. William:

I just think it's fundamentally wrong for a shading mode to change the selection mode also, and will confuse users. They will tell Blender to not select through, and then change to Wireframe, and then suddenly it's changed, from under their feet. Now the selection behaves differently, just because you changed the shading mode. Then they tell blender to select through and go to a different shading mode, and it's changed again, because there's a different flag for different shading modes.

I think de-coupling the X-Ray/Select-Through from the view modes is certainly the smart move here, which will in-turn keep the majority happy. It'll remove the 1-2 extra steps to quickly go into a Wireframe/Select-Through mode, which as a user is what I use it for 99% of the time.

Given that, Toggle X-Ray (Select-Through) is still available in the Shading Pie. Having to go up to the shading popover or header can get tedious, if and when the user wants to quickly toggle X-Ray (Select-Through) On/Off.

Like William said, maybe the Limit Select to Visible (Now X-Ray) icon can make a come back on the viewport header? So we can quickly see the status of the X-Ray function. I think the On/Off status shows in the Pie menu currently too, but having to hit Z for that every time can be avoided.

(Playing my own devil's advocate here.) Would we really need a visual icon/indicator to tell us we are in X-Ray/Select-Through mode? Because it can be quite obvious with how things look inside the viewport (See Through) and back-facing wires showing/selectable too. --- Adding an icon could also confuse older users as it'll throw back to the Limit Select Button from 2.7x. But that functionality is merged and handled by X-Ray. Which can also be found in the Shading Popover. So many options that do the same thing in two or more ways. Again, seems to un-necessarily complicate things further.


As long as Toggle X-Ray (Select-Through) can Easily be accessed via Pie Menu/Hotkey (Shift+Z?). I honestly don't see an issue with having different presets for different view modes by default. Will definitely cut down a few extra steps while working, and that I think is a worthy goal to strive towards and has been the foundation for 2.8. Workflow. It's gotta flow. :)

So by Default, (Let the View Mode + X-Ray (Select-Through) be set to the most appropriate usage setups by default. And let users have the option to quick-toggle 'n go from there.)

Solid = X-Ray Off --- Wireframe = X-Ray On (Alpha=0?) --- LookDev = X-Ray Off --- Rendered = X-Ray Off

Now, If the user wants to have X-Ray in Solid/LookDev/Rendered, all they have to do is, Z > Toggle X-Ray. --- Same for Wireframe. Select-Through would be 'On' by default. But If they don't want it, Just Z > Toggle X-Ray. (Doesn't seem that difficult to reach or confusing to switch, long as it's available in the shading pie.)

I think the important question is, can we save these choices (X-Ray State) for each view mode?

Because for example, I'm in Solid mode (X-Ray off by default) and I want to have X-Ray on. So I toggle it on. Then I go back to wireframe (X-Ray on by default) in edit mode, work on the model, back to object mode and Z > Solid Mode and X-Ray is Off again. Now that would be confusing. And will bring us back to the start of this discussion in having to jump extra hoops to get the view mode + functionality we need.

So much tension in this one thread. :) Hope we could all work together and make this work. I don't think it's that complicated if we can break down the issues, mark down the solutions and not include anything that will make things more complicated and confusing to use while working fast.

Shouldn't it rather be next to the shading popup since they are related and more xray settings can be found in that popup? But then there needs be some clear separation from the mode buttons since it could easily be misunderstood as its own shading mode.
If the toggle is placed way over to the left instead I think it's easy to not make the connection to the xray settings in the shading options. People will assume that it's two settings like before.

Totally agree with this. If the X-Ray (Select-Through/Limit Select) status icon is making a comeback then it really make sense to be close to the shading icons on the top right, but also with a clear separation to not be mistaken as yet another shading mode. Good one Julien. :)

Ok, all agree? :)

Yes. Just to make it clear. If there is a decoupling, and we are talking about occlude mode for selection in 3D header and X-ray for setting in Shading popover.

There is no X-ray setting in Lookdev and Rendered display because it does not make sense.
In wireframe mode, X-ray slider makes sense but X-ray toggle doesn't.
User can have wires on top of solid flat faces with flat shading. Why will he choose Xray Off in wireframe mode if he can have that ?

Julien: No, I did mean putting it next to Vert/Edge/Face like it was, because I still think it's really a selection option. That was the crux of the argument. It's a way to select through things. The opacity slider is just a visual thing, so that can stay in the Shading popover - it doesn't affect selection. Occlude Selection (now X-Ray) was always next to the selection modes, and I think i still should be.

So, no more toggle next to slider in shading popover ?

Right, we should then remove that toggle in there. Otherwise it'd be duplicated.

@William Reynish (billreynish) I understand the crux of the argument. My concern is just separating a toggle from other connected settings so far away from each other. So far there has been a pretty consistent job of bundling together related settings and options to other toggles. If you think the xray should be positioned to the left then I would argue the opacity slider should maybe move together with it.
Although that would not work really well and you are right: The slider is purely a shading option.

So how about we move the xray toggle to the left of the visibility/selectability popup on the right side of the header. After all that setting also affects both visibility and selection. And there it would still be close enough to the shading options to not be completely separated.

I don't think that's necessary. It overcrowds the header then, and makes it seem like the slider affects selection which it doesn't.

I disagree. No matter where we put the toggle in the header, it will take the same amount of space. If anything it would overcrowd the left side sicne there are more options available or at least more space taken already.

If the slider stays in the shading options and there's a bit of distance between them like in my proposal, then I don't think there will be any confusion on that the slider only affects shading.

No, what I mean is, if you put the X-Ray opacity slider in the header. That's not necessary and will overcrowd it.

Sorry that I wasn't clear: Moving the slider to the left in the header ultimately wouldn't work. I was arguing of keeping the toggle close to the setting.

I don't understand what you mean. I really don't think we should put the X-Ray opacity slider in the header, that seems really silly.

Again, I wasn't clear enough, sorry.

Keep the opacity slider in the shading settings where they belong. But don't move the toggle to far away. Keep the toggle on the right side next to the visiblity/selectability settings. I know the right side is meant for shading/visbility options but since the xray toggle affects both it can also be next to visiblity/selectability, since that one also affects both.

Well, the main point is, if the user wants to select vertices on the other side or their mesh, what do we expect users to do? Should they go to wireframe mode, as they did in 2.7x, or should they turn on X-Ray?

I think the answer is clear: They should turn on X-Ray. It's much less jarring than switching shading mode.

So, then follows, how do we present this option? Do we hide it inside the Shading popover, while promoting the Wireframe mode in the header? If we do that, then we have failed, because nobody will use X-Ray.

If we want to communicate to users that X-Ray is used for selecting through, putting the option next to the other selection mode options makes it clear. Before the X-Ray+Occlude Selection merge, the Occlude Selection toggle was next to the selection mode, and I think that was correct, just like it will continue to be correct now.

I get that it's probably the best way to promote users to adjust the way they work but my problem is still, and I know I sounds like a broken record at this point, that xray is not exclusively a selection option.
The visiblity/selectability settings affect both but not just those settings on the right side. Disable overlays like the bones, motion paths, ornaments etc and then try to select any of them. You can't because those settings affect both selection & visibility.

If the toggle is on the left most position on the right side in the header it would give enough separation from the modes to let people know it's not connected to the them and giving it its old icon would also helps with the association with occlude selected on its own. It's a compromise.

Maybe I'm making too much of a fuzz about this. In the end the position of this button is such a small thing and to be honest: No one in the studio here, or any hardcore user, would ever really pay attention to it. We're all just going to hit Z to switch xray and that's it.
I shared my arguments but if it ends up on the left side, no one is going to rebel and the world will keep spinning.

Did a quick mock-up. What do you guys think about this? Does it make sense? :)

At least 'some relationship' just like it did with the 'View & Select' menu items on left side of header.

YAFU (YAFU) added a subscriber: YAFU (YAFU).EditedSep 25 2018, 3:01 PM

Hello.
The user just wants to have a quick single shortcut that allows him to enter/switch faster to a mode as Z key does in 2.79. As I understand it is not so fast or simple in 2.8, in different circumstances you need to have a combination of Wireframe and X-Ray at the same time to achieve what Z key/Wireframe does in 2.79, like in this video
https://blenderartists.org/t/blender-2-8-viewport-updates/1114082/391

Did a quick mock-up. What do you guys think about this? Does it make sense? :)

+1
IMO, most practical and relevant placement.

I think you guys are on the right track decoupling the x-ray mode - as long as switching back and forth between wireframe and solid shading will recall the last state of the x-ray switch every time. With these and other recent changes to wireframe mode and selection functionality in general, it's never been easier to work with meshes in Blender. Great work gentlemen.

I agree that the toggle should be located next to the visibility dropdown on the right side of the header as Julien suggested. While it does make some sense to have it located next to the vertex/edge/face mode toggles on the left side, what happens when you come out of edit mode? Now you have a single x-ray button orphaned on the left with no other controls other than the mode dropdown. Also, keep in mind that with the extra menus, the mode dropdown, and the selection mode switches on the left side in edit mode, it could get pretty cluttered adding a new button, especially on smaller screens.

I have not read all the comments, so it's possible that someone has already made this observation ...
you can add the option on off "toggle wireframe" to the pie menu, such as "toggle x-ray" sometimes it is useful to have this fast option, either with solid view, or with x-ray or with the material shading view

at the moment it is possible to add the wireframe + solid visibility usually via "Wiewport display" but as you can see from the screenshot the result is not a great deal

Amon: Again, it's already in the pie menu. Most of your various suggestions are already the case. Try before you comment, mate :)

Amon: Again, it's already in the pie menu. Most of your various suggestions are already the case. Try before you comment, mate :)

I was not referring to the wireframe and solid exchange but to the addition of the wireframe + solid or material shading + wireframe

William, if you were referring to me, sorry for my lack of understanding. I do not find anything that with a quick simple action I can enter an equivalent mode as in 2.79 with Z key. With equivalent mode I do not mean simply the same name "Wireframe". I mean it really behaving like Wireframe in 2.79 (Edit and Object mode).
As I had said, to enter or exit in a similar way to what Z key do in 2.79, I need to perform two pairs of actions, Wireframe and X-Ray. This is slower and tedious than in 2.79.
I will continue experimenting just in case. Sorry again.

Yafu: No worries - I'm not sure I understood you right.

With regards to your comment, I don't think the Z key should work like in 2.7x, no.

In 2.7x, the Z key enabled Wireframe view. Users used this as a quick way to select through. But in 2.8 we have X-Ray for that instead.

It's only currently more tedious if you want to get to the same wireframe view as in 2.7x. If you want to get to a hidden wire view it is faster. But, this point is moot if we decouple the X-Ray setting between the two modes anyway.

YAFU (YAFU) added a comment.EditedSep 25 2018, 5:05 PM

William, It's just what I show in the Blender Artists forum video, about how Wireframe 2.79 behaves in Object and Edit mode. Anyway now I think I remember that you said in another entry that we could configure Presets of different combinations of Overlays and Shading. So I guess we could configure a simple shortcut to, for example, Wireframe + X-Ray at the same time in a single custom preset to quick access. So the point that I was trying to point out here, would have solved with those custom presets, and I have nothing to complain about what I had pointed out before here.
So, thanks.

Well frankly, I think there was nothing wrong with the way Z key worked in 2.79.. I never heard anyone complain, maybe because it's so commonly found in every modelling software.

I don't find wireframe mode jarring, confusing or breaking the flow. On the contrary, it is my most used key. But that is because my scenes are architectural so seeing through is really necessary (lots of objects spread across large space).

As can be seen here:



I don't really mind the way this is resolved as long as the old 2.79 way of Z key can be brought back with either a setting in User Preferences or changing a shortcut.

I know hidden wire in solid mode is useful to some people but I always have it turned off because I use wireframe mode to select through the model and I prefer that for it's simplicity and clarity. Wireframe is not just for selection though, it's also good for adjusting the model.

It's really important to think about common use case and I believe there was a good point somewhere in the discussion that everyone expects wireframe to look differently according to their needs.

I don't see the reason to keep wireframe from being a display mode all by itself with it's own overlay and effects (fresnel, outline) settings. Would make most sense to me as wireframe is massively important part of the 3D world and should not just be as an overlay.

If, through user customization, it's possible to bring back 2.79 wireframe Z key funcionality to look like X Ray 0.999 that Pablo posted earlier, that would be great. ^^

@Clément Foucault (fclem), so the conclusion seems to be:

  • Decoupled X-Ray setting in wireframe and other draw modes. Default to off in wireframe mode, on in other modes.
  • Add a button for X-Ray to the header. (I would put it on the side of all the shading options so it makes sense in object mode too, but don't care too much).

If, through user customization, it's possible to bring back 2.79 wireframe Z key funcionality to look like X Ray 0.999 that Pablo posted earlier, that would be great. ^^

It is possible. Look at how Shift + Z is bound to toggle rendered mode, you can set Z similarly for toggling wireframe mode.

Dan Pool (dpdp) added a comment.EditedSep 25 2018, 8:54 PM

Guys, on a hunch, I just tried this keymap setup with two entries:

  1. "Z" key set to the "Click" method set to view3d.toggle_shading, Type: Wireframe (works like 2.79)
  1. "Z" key set to the "Click Drag" method set to wm.call_menu_pie, Name:VIEW3d_MT_shading_pie (works like the latest 2.8 builds)

This seems to work really well in my opinion and even tried it out with very dense meshes (which I think was the issue with using "Click Drag" for edit mode selection. You guys should try it out and see what you think since there seem to be a lot of voices saying that changing the Z key behavior will mess up their workflow. This would give the best of both worlds: z key toggling wire mode and still having the shading menu under the z key (which I personally prefer).

Also, not sure if you guys noticed, but in the shading menu, the buttons that toggle settings (Toggle Overlays and Toggle X-Ray) don't highlight unless you are setting the toggle to TRUE. If it is already set to true, you don't get visual feedback of what item you're hovering over.

@Dan Pool (dpdp), we've tried overloading keys this way a few times before, and always ended up removing it.

In this case we'd be breaking the pie menu feature that you can release the key and then choose an item, which some users prefer (or need for accessibility reasons). It also means pressing Z to toggle wireframe requires holding the mouse still, which means users that work quick accidentally trigger the pie menu.

The highlighting in pie menus indeed can use some improvement.

Dan: If anything, we'd make it so tapping Z would toggle X-Ray rather than wireframe.

But we probably won't do that. We've found that this kind of configuration doesn't work well in practice. It means you can't tap a key to open the pie menu, you must hold the key, making the pie menu harder to use, and slower to invoke.

in my opinion as the need to switch fast between wireframe - solid - x-ray is mostly used when editing meshes and objects I would propose to set these combinations:

shift + z --> exchange between wireframe and solid
alt + z ---> exchange between x-ray and solid
z --------> pie menu for all the other combinations you want

In some 3D softwares, the Wireframe mode usually has two options (toggle), Lines and Hidden Lines, and those options indeed affect the selections.

But seriously, copying other software does not seem to be a good idea, here.

It's not about copying, it's about the standards.
X-Ray never was used as a mean to select through it, it's just a visibility helper, it should never affect the selection, so I think it's wrong to promote it as the way to select through.
On the other hand wireframe does affect the selection. WIreframe and X-Ray are two completely different things and they shouldn't be mixed like that.

Anyway, on other apps they are doing it in a more clever way, the ability to select through a mesh is actually a function of the tool (usually just a checkbox), and I prefer it that way.

Anyway, on other apps they are doing it in a more clever way, the ability to select through a mesh is actually a function of the tool (usually just a checkbox), and I prefer it that way.

I don't know that this approach really applies to blender, though. In Blender, selection is not a tool nor is it part of the function of other tools. It is it's own separate part of the process. All of the tools of Blender require you to make a selection first and then perform the operation, unlike other programs that allow you to just click and drag on an unselected face to extrude it (for instance).

I don't know that this approach really applies to blender, though. In Blender, selection is not a tool nor is it part of the function of other tools. It is it's own separate part of the process. All of the tools of Blender require you to make a selection first and then perform the operation, unlike other programs that allow you to just click and drag on an unselected face to extrude it (for instance).

Of course it does apply, that's what the concept of active tools is all about: Activate the tool -> Set some parameters -> Do the action.

Lemme give you an example of how it could work with the selection tools (Border/Circle/Lasso). Let's say you want to use the border select tool, then you click on it in the toolbar to activate the tool... see the settings in the tool settings/topbar (Add/Subtract/New etc)... yes you guessed, next to it would have a checkbox to activate select through, and done you're ready to go. That's how things are working out there.

Of course the concept of active tools is still a baby in Blender, cuz ideally every selection tool including the mesh selection ones should be all active tools already.

Z wireframe / solid
(you can choose occlude selection but wireframe and solid mode remember both it's own Occlude Selection Setting. Wireframe Occlude Selection off by default, Solid Occlude Selection on by default.)

Shift+Z rendered interactive
Shift+Z Drag could do Shift+Z and Shift+B in a sequence so you can draw a render border immediately. I think render border should be hidden from the viewport while in solid or wireframe modes as it doesn't affect them.
(on a side note: rendered shading mode seems to always use wireframe for anything outside the render border, in 2.79 I think it keeps solid mode around if you've switched to rendered from solid shading mode.)

Alt+Z shading pie menu
(as Ctrl+Z and Ctrl+Shift+Z and Ctrl+Alt+Z is obvious from many other softwares, Alt+Z stands as the only empty key around and as noted shading pie menu will probably end up being used less often than Wire/Solid switch.)


I have to say that amazing job has been done on improving all the viewport modes. This is very impressive. I was opening my anatomy model and doing a quick X-Ray to see the new possibilities.

TheRedWaxPolice: You'd be right if we only had active tools. But in Blender you can use selection from within any tool. You can always use B key to do a border select, or right click to select elements, even if you are using, say, the Spin tool or whatever.

It's the same reason why we always expose the pivot point or the transform orientation. At any moment, the user can press G and start moving, so we can't really hide those options and only show them when a certain tool is active.

It'd be much easier to design a simple UI if Blender only used active tools, but we chose to keep the direct hotkey-centric approach next to the active tools to try and cater to both workflows.

Yeah, I understand.
But if there was a chance to have that option even for just the active tools, that would still be really great.

Settings were decoupled in rB5732d9e1dcc0: Wireframe/Xray: Make Xray option local to wireframe mode, so I think we can consider this specific task finished.

For the shortcut keys, I think Z should really be the pie menu. Those work best without modifier keys, and it gives access to all the options under the simplest shortcut. That still leaves us with Shift+Z, Alt+Z and Shift+Alt+Z for specific toggles

Yes, agreed. Pie menus work especially well with single keys. All good.

Ok agreed. I was trying the pie menus the other day and it seems that double tapping Z doesn't close the menu after it's opened. Shouldn't the key be like a toggle that pops it up but can also close it? I know LMB and ESC can close it but could be intuitive to have the key close it.

Also could it be highlighted in the pie menu which option is currently the active one that is being used?

I found myself actually unknowingly selecting the viewport shading mode that was already active but it didn't highlight which accounts for a slight confusion for new users I believe.

The only problem with the same key closing the pie, is that we could also use keys to activate pie options while it is open.

Like that while hovering with the mouse over let's say "Solid" and you press Z it would open another 3 options which are for example user defined custom versions of the solid shading mode with stuff turned on / off as set up by the user?

The active option is indicated by the white outline around the icon, but it's too subtle.

Brecht: Yes, this would be nice to make clearer - is it just a theme thing?

I looked over the rest of the 2.8 theme and it seems that active option background actually uses the blue color that in the pie menu is currently used as highlight background color.

If you look at any buttons toggling between multiple option, the active ones are always blue and while hovering the background goes slightly brighter.

It would be great if this is exposed in the Theme colors slightly better though. I found "Pie Menu" in "User Interface" tab but it's hard to set hover background and active background as they are coupled.

Don't mind the proper printscreen, the internet is down at work..

The only problem with the same key closing the pie, is that we could also use keys to activate pie options while it is open.

I'd second that, Z key to close/dismiss would be expected, we do have the number options for keyboard navigation, though I see how it can sometimes collide with text shortcuts.
Better highlighting of current option would also be nice.

Is the current order of pie entries a placeholder or does it follow any logic? It currently seems to be somewhat random, maybe it could follow some sort of structure.
Say from simplest/less realistic to the let to most realistic/heaviest to the right, toggles separated bellow, or above. Here is a simple mockup, current to the left, proposed to the right.

Could this outline indicating the active mode in the pie menu be a little thicker for easy viewing?
I just noticed that the color of this outline is controled by the inner selected color option of the pie menu in the theme settings, but yeah, it's too thin.

Maybe it could follow some sort of logic, from simplest/less realistic to the let to most realistic/heaviest to the right, toggles separated bellow, or above. Here is a simple mockup current to the left, proposed to the right.

I completely agree with this. It’s the same order the buttons appear in the header. This will make the pie menu more intuitive and quick to use.

@Duarte Farrajota Ramos (duarteframos) I think it's actually amazing how the options are organized. Left Right are opposites and Top Down are also related to each other + additional options for lookdev and rendered.
People are simply more used to moving mouse either horizontally or vertically than in a hexagonal grid.

The only point here that I would have is that the order of viewport shading modes in the top right is different than the order in the Pie Menu.

In the horizontal menu it goes: Wireframe, Solid, LookDev, Rendered
While in the pie menu it goes: Wireframe LookDev, Rendered, Solid

But I see the reasons for putting Wireframe and Solid directly opposite each other so I think it works well here.

@Adam Preisler (Alphisto) The hexagonal arrangement was mostly aesthetic, at the end of the day it always works in a radial fashion. Placement could be adjusted if needed, didn't give it much though I was just pointing out the perceived order of entries.

But you do point an interesting point: How do people read a pie menu? Is it really read in a radial fashion (clockwise or counterclockwise)? Do they read them as top to bottom, maybe left right? Are opposing sides related?
When I drew the mockup I naturally went with a clockwise order from left to right, but I can see how different people might interpret it other in ways.

I think opposing sides are related. Left Right and Top Bottom are very important for the brain.

I believe over extended usage it would be much harder to select 6 options in hexagonal wheel than 8 options in octagonal.

Octagonal arrangement also more resembles the clock or the compass.

It's also great to have 2 empty slots that can be filled without confusing the users (who memorized the arrangement already in muscle memory) and acutally I doubt there should be more than 8 options in the menu as then it gets overloaded.

The pie menu is very powerful when you quickly move the mouse to the desired shading mode resulting in a very prompt switch without ever clicking. This is the good stuff to muscle memorize.

now u guys changed it again.. Solid/wireframes should be one toggle on the pie menu, and X-Ray toggle for Wireframe and solid...just want to ensure we can have x-ray off in wireframe mode :)

now u guys changed it again.. Solid/wireframes should be one toggle on the pie menu, and X-Ray toggle for Wireframe and solid...just want to ensure we can have x-ray off in wireframe mode :)

It is working as intended since it was committed mate. You might need to Load Factory Settings for it to take effect. I know I had to. :) Wireframe=X-Ray Off, Solid=X-Ray On. As decided.

PS: Nice work on de-coupling the X-Ray (Select-Through) from the View Modes guys. Also love the fact that the view mode remembers it's X-Ray Toggle State, even after switching. Thumbs-Up! Also the 'Scene Transparent' Status Icon on Top-Right was a nice touch too. Awesome stuff, thanks for listening and considering. <3

I have already written it above, I think a "toggle wireframe" should be added,
I want to be able to quickly add the wireframe in solid, render and lookDev modes

note: "toggle-wireframe" is differnt from "wireframe"

The active option is indicated by the white outline around the icon, but it's too subtle.

would not a check icon be better?

Both xray and wireframe modes, while useful for some tasks, are distracting and busy, and annoying to have to switch to each time you want to select through. As a user, I'd like a select-through mode that isn’t visually compromised by backfacing geometry and could be left on for extended periods.

That is to say, Select-through and see-through options should not be tied together. Users are perfectly capable of predicting where their own geometry is without seeing backfaces and occluded wires.

In fact, the backfacing geometry (of your current and other objects in the scene) frequently just makes it more difficult to tell where to draw the selection. There are ways to mitigate this, like object isolation, but it would be better if mitigation wasn't necessary in the first place.