Experimental Colored Wireframe

@renderdemon

You say its obviously useful, however I’m not sure of this, the times when I have a lot of wireframe’s overlapping I tend to…

  • Use layers to split up.
  • Use alt+rmb to select by name when too many are overlapping.
  • Use localview on a box selection, then move objects out of it where needed (Mkey)
  • Use groups and the outliner to select them, then go into local view.
  • Use group instancing if there are many objects which make sense to be merged+instanced as a group. Then have a scene for each group’s objects.
  • Use alt+b clipping if there is too much surrounding distraction.
  • Use set-scenes (if the forground and background can be split up).
  • Enable boundbox display if the wire makes it hard to see whats-what.
  • (I never used this) but you can have separate scenes and compo them together in some cases, assuming you output for rendering.

Some example from a user, where none of these methods are sufficient and you still have a black mess of wire, is interesting to me.

Or… a scene where color is used effectively so having color is a really big win, is also useful to see.

Taking all this into account, I would like to see a really good rationale for adding this feature.

@ideasman42,
apart the fact that I personally think that the case I proposed before, in edit mode, is one of those in which colored wireframes are really needed (since so many times I was in that situation and I desired to give up at all), could not this feature be added just because it’s cool?

Thank you anyway for your involvement!

paolo

@sourvinos - Regarding editmode wire mixing with other objects wire,
Theres a theme color for editmode wire now (requested by Jonathan Williamson).

I think setting the editmode wire color can help here. (we could default to a color that contrasts more).

But I worry the feedback Im getting is too mixed up with corner cases or extra possible options.

#1 priority for me is to show the patch is really useful and important, or abandon it.

On this at least, it’s not as useful as you think because of how Blender currently lacks a good layer manager (along with only having a limited amount).

To make layers more useful, they should be able to have names, be grouped together, and have more added when needed.

Thank you a lot ideasman42, I didn’t know of that new feature, really useful (thank you Jonathan too!)

EDIT: about default color for editmode wire, mine was to (0, 0, 0), that’s why I didn’t notice the change, it should be at least different from not selected.

At this point, my priority is satisfied, I do not know whether colored wireframes are really needed, but certainly more useful than colored groups, imho, and we might have even both.

About layers, they are useless when you must see all the objects to arrange them, a second option would be handy (my 2 cents).

paolo

i see use for it while retopoing too :slight_smile:

Can you give me some time to get a video ready, ideasman42? Busy today and tomorrow, but I think this is an important feature and will get recording to prove it when I can!

Well, its hard to test this feature when no compiled downloads are available. Or is it ?

@JuhaW,
we have not to test it, we have to show clear cases in which it may be useful or necessary, if I understand correctly, fair enough.

paolo

Well those are all just (really annoying) workarounds that colored wireframes could eliminate the need for.

Sometimes you don’t even have a choice but to work with dozens of nearly overlapping meshes that you cannot hide while modeling. For example when you need one model to conform to another and have to push vertices around the other mesh manually (which is quite a frequent occurrence) you have no choice but to try and grab an edge behind another object in wireframe mode every now and again.

An example would be trying to model wraps around a character’s arms, or in the case of my demonstration, a handle. This is an extremely simple model and yet it is downright impossible to see which object is which in wireframe mode.
https://copy.com/Az3E4gztxkTQ

@Ace Dragon - OK, layers system is limited. But this isn’t convincing reason for adding color wire IMHO.

@BTolputt - great if you can make a demo (include blend files would be nice too, if your able to). No rush.

@blurymind - yes, wire theme color was added for better retopo workflow.

@NinthJake, Yes - in a simple cases where you have overlapping objects color can help, but its not ‘better’, its a compromise - at the expense of easily knowing whats selected, linked, in a group, set-scene etc…

The example is valid. but at this level of complexity its something users can manage at the moment too IMHO.

I thought I read on the developer site that the colors could be limited to hues rather than also having brightness (so you would have dull being unselected, semi-bright being selected, and very bright being active).

As for being able to determine which objects are grouped, perhaps you can then use a fourth brightness value that’s kind of dark, or maybe you have moderate saturation for ungrouped objects and high saturation for grouped?

And for selection, maybe have a certain thickness that creates an outline around the wire?

@Ace Dragon, yep, we could experiment with limiting this to Hue only… or Hue+Sat… I have the impression some users would prefer full control to select any color still? - would be interested to hear feedback on this.

If this was done, selection+active is simple to show with brightness/saturation.

I already tried 2x wire thickness for active object, and didnt like it, you loose too much detail with dense wire and it ends up looking like a blob of solid color. (I found myself de-activating so I could properly see detail).

I think, if we can change the opacity of the Wireframes it will help a lot. For example, the active object will have a 10% transparency and the others 50% transparency or we could set the Wireframe transparency for each object individually…
It would help in sculpt to, cause in a dense mesh is impossible to see all the details, when zoom out for example.

In short, if we could change the transparency of wireframes, it would be a big improvement already.

My two cents. :slight_smile:

You say its obviously useful, however I’m not sure of this

It IS obvious. You even use already different mesh colours in Blender. One for selected, one for deselected. So how can you doubt the power of colours :wink:

Colours comes in handy where you have lots of meshparts, and want to visually separate them. Be it in edit mode, be it in object mode. While with a single colour you end in a big mesh munch where you cannot say what is what anymore. For layers* it is even essential to visually separate what is in what layer. Red layer 1, green layer 2 … . It makes me scratch my head why we really need to discuss about its usefulness here.

*Reminds me that the colour doesn’t have to be at the mesh level. Why not use colours for layers? Then simply put the mesh into a layer and give the layer the needed colour …

It’s not that we invent the wheel here. More a step to catch up. Coloured wireframes is part of many 3d packages since a long time. So it’s nothing experimental, but long proven to be useful. Else this feature would have been removed from the 3d world by evolution. Developers of Commercial 3d packages are no morons, they implement something for good reason.

when I have a lot of wireframe’s overlapping I tend to…

You can find workarounds for everything. But isn’t it better to make it in a way that you don’t need workarounds at all? Blender has much too many of those nasty workarounds already for stuff where you need one click in another software. This is the chance to catch up at least at the coloured wireframe front.

It’s even a no brainer since it doesn’t even harm anybody when you have to set the colours actively by yourself. And when you want to be absolutely sure that nobody gets nagged by it, then implement a “reset all wireframe colours” menu item. Or make it toggle between multi coloured and single colour

I have the impression some users would prefer full control to select any color still?

Full control is better. That way you suit every flavour :slight_smile:

@vida_vida - this issue with adjusting opacity is you cant always tell it apart from a color which is closer to the background.

@Tiles - any random feature is useful to someone,
If this is so obvious then someone should be able to explain why its useful.

If thats clear to everyone, it helps to make more detailed decissions like…

  • where to show in the UI?
  • should this be attached to object color or not?
  • should we have some tools to easy auto-color the selection (based on some palette, using some rules)?
  • what might be a good workflow for assigning color (is one by one really ok?)

What you define as a workaround is subjective - it could be said colored wireframes are a workaround for users who don’t organize their scenes well enough.

It’s even a no brainer since it doesn’t even harm anybody when you have to set the colours actively by yourself. And when you want to be absolutely sure that nobody gets nagged by it, then implement a “reset all wireframe colours” menu item.

Its not a no-brainer to add this stuff. Every new display option we add gives us more code and options to have to support. more possible bugs and glitches.

Adding tools to solve problems created be more options is really something to avoid where possible.

@BTolputt is going to make some examples to show how this can work well, so I’ll wait for this - then maintainers can review.

I don’t actually work in wireframe mode except when doing box and circle selections that I want to go through the model, purely by virtue of the fact that there’s a shortcut for wireframe mode and there isn’t one for use_occlude_geometry. So colored wireframes aren’t actually very useful to me. Colored solids that aren’t tied to the material would be.

Regarding colors being a workaround for insufficient organization - I agree. The best way to deal with it would be to organize your scene into groups and layers. However, options for organization in Blender are severely limited. Groups are just lists of objects that you can’t even move/rotate/scale together, never mind modifiers, and there are just 20 un-nameable layers at your disposal, with no sublayers. That frankly sucks. Colors would be a band-aid over a broken leg.

Btw, adding double-tap select-through to box and circle select would be nice.

To be honest Campbell, it is obvious… though perhaps not in the way its being presented in its entirety. Some of this can be contributed to working with bigger scenes in which the wireframe is necessary due to the viewport performance itself (lots of cause and effect here). The idea is that having colored wireframes gives a higher performance and sometimes easier means at which to identify and get precise selections as well as mesh manipulation (vert, edge or face).

For me personally, this represents a larger design discussion. How materials are used and displayed along side the viewport. The wireframe is often tied to having a different material, or even a polygroup if you go by zbrush terminology. Many applications will colorize parts of mesh, bake out those colors and used them as masks. So if you tie colored wireframes to material properties (think zbrush polygroups here), it greats an efficient workflow for modeling around different types of materials, working with complex scenes and rendering out colored maps for texturing purposes. Additionally, when working in an orthographic or 2d mode, and the identification and lining up of specific elements becomes critical.

This literally would hit every type of field, from games to film to archviz… I wouldnt say its a 100% must have, but its usage itself opens up the discussion as to why the viewpoint as well as material implementation need improvement, pipeline wise. I would further argue that usability, and the ease in which the user can work within a scene is something that is far more important than some of the other wants out there. If something like this falls in that category, the need should go up, but again it might be considered something more indicative of a larger problem, rather than being useful on its own merit.

Its not a no-brainer to add this stuff. Every new display option we add gives us more code and options to have to support. more possible bugs and glitches.

Of course, every new feature brings new code and so the chance for new bugs and glitches. But is that a reason not to implement any new feature anymore? There’s a reason for new features. User demands.

You cannot fit 100% of the user base with a new feature. Some will use it, some will not. And initial useage is also no real proof if a feature is useful. Some features grows from no go to absolute favourite over the time. Ngons anybody? :slight_smile:

I meant the user base here with no brainer, not the coder base. The feature with the wireframe colours is a no brainer because it is useful for quite a few people, while it doesn’t harm the rest. You have already the code working as i can see. So even from here it’s a no brainer, you have already mastered the technical aspects. You just have to put it into the trunk now. Which is of course again work. But that one should be a smaller step now.

What’s left is the question, is coloured wireframe useful enough to put it into the trunk? From my angle this question is already answered by the often repeated demand, more than one person in this thread here (the image from NinthJake above says more than a thousand words), and even more by several implementations in other software.

As a contrary, tell me the usefulness of layers. They don’t get used by everybody neither. But are still part of Blender.

When layers are in Blender, then in my opinion colours for the layers / wireframe colours should be in Blender too. Because it’s a very useful sub feature for layers. To separate the content of the layers visibly and make the orientation faster and easier. To be able to tell, this object is in the green layer, and this object is in the red layer.

Now think of a motorbike, made of let’s say 20 layers. And you want to tweak at the motorblock mesh. Without wireframe colours you have everything in one colour. And because everything is one colour you cannot say where one object ends and where the next starts. And this becomes even harder the more dense the mesh is. Up to the point where you only see a opaque surface instead wire lines. How will you judge here if a edge is at the wrong place then? How judge if everything fits?

To select the object, in our case the motorblock, is again one of those nasty workarounds. It separates the selected object by a different wireframe colour (here you have your proof of being useful already, and it is even already implemented in Blender) . But that way you can only see the currently selected object visibly separated. With wireframe colours you can see all objects / layers visibly separated. A big relief to judge if a part doesn’t fit and needs more work. A big relief to grab that part then too.

If this is so obvious then someone should be able to explain why its useful.

Tough one. You already seem to have rejected the reason of visible separation and easier / faster orientation already, which is like “explain me why daylight is good” while you reject the reason “because then you can see” . That the same feature exists in other 3D software is also no reason for you as it seems. And also not the often repeated demand. There’s nothing left anymore.

Am I missing something? Add a bevel modifier, and set to weight mode - then enter edit mode and bevel selected edges, points, and polys by setting a weight? This even allows for a non-destructive workflow…

Anyway, as for the main topic of this thread: I have been waiting for years and years for custom coloured wires. In complex scenes wireframe mode is completely useless - and wires have some advantages over solid mode. It is easier to get an overview of all objects and their components, since wires are see-through.

Compare the rendered with the coloured wireframe version:



The coloured wires offer much more insight in the model’s construction. More than the rendered version (or a solid view).

Coloured wires should be customizable for layers, objects, and mesh parts.

There is, however, the proverbial elephant in the room: it is currently impossible to select multiple objects and set the view properties for all of them simultaneously. There are some add-ons that thankfully allow to do this, but it remains an issue - Blender is the ONLY application I know of that breaks that basic usability affordance. Very odd.

So adding customizable wire colours for objects should ALSO somehow allow users to select multiple objects, and change the wire colours for all of them at once. Not one by one (a throwback to the 80ties).

Also, it would be brilliant if occluded wires of the same object would be slightly semi-transparent - similar to the “limit selection to visible (clipped with zbuffer)” in solid view mode.

A bit like this: