Feature request: Enforce quads during subdivide

Sorry for posting a feature request here, but Blender’s main website doesn’t seem to have a simple form for feature requests.

The description of the problem is this: when I want to mesh subdivide an edge, invariably Blender wants to use 3 tris to fill in the space that used to be a single quad (I believe this is for the sake of preventing illegal 5-sided polys). I don’t believe Blender should do the N-Gon stuff as a solution, but I also don’t want to have to go through a lot of manual cleaning up simply because I wanted to subdivide a single edge. I simply want to stick with quads.

What I would like is this: whenever I subdivide an edge(s), instead of Blender creating triangles, could I have an option (toggle button or menu selection) to have Blender auto-create edge-loops as necessary to enforce quads? I would much rather deal with the edge loops running along the entire mesh (which is usually what I wanted anyway) than trying to manually remove triangles that are only there to keep the subdivision effect localized. I don’t think this behavior should be the default, but it would be nice to have the choice.

What do you think? For those who want an easy way to stick with quads, does anyone else believe this would be a useful feature?

You can use Loop cut tool Ctrl+Rkey to do the edge loop running around the entire mesh thing.

The problem comes up when you just want to cut one or two edges. With five vertices to connect instead of four, Blender can’t determine which side of the cut to place the quad and which side to place the tri, so it just makes all tris and lets the user select and join the results.

Having a little popup menu, similar to the menu for the merge function, that has all five choices on it would be great. You’d still be left with a tri at each end of the cut, but that’s unavoidable and easier to deal with than three tris at each end.

1 Like

It’s not that I can’t manually remove the tris, select an edge ring, and then do a loop subdivide with Ctrl+R. So far I’ve managed to get by with that. It’s just that I’ve noticed a recurring theme that would be made easier if edge loops were auto-created rather than tris. The specific case I had in mind is when a 5-pole is connected to a 3-pole, but pretty much any time I want to make a subdivision of just one or two edges, I would rather that Blender create an edge loop on its own. I guess this is just one of many instances where I wish there could be a “enforce quads only” button that would not allow tris to be created. Another example is when I have a quad-only mesh, I then use a mesh reduction tool or script, and it converts everything to tris rather than seeing first if it were possible to reduce the mesh with quads (though of course past a point it must use tris).

I attached some images to demonstrate what I’m talking about. Perhaps I don’t understand the ambiguous or corner cases, but I believe that to implement this, all you would have to do is start an edge loop wherever you have 3-tris replacing what used to be a single quad, and the loop would begin from the new point that created the tris in the first place.

Attachments



If there is any ambiguity as far as what side of the subdivided edge Blender should start creating the edge loops, I would think the solution would be similar to what we already have for things like subdividing edge loops: let the user choose among the options, using highlighted contour lines.

When doing things like subdiving an edge loop, Blender doesn’t automatically know which loop you want to subdivide, so it uses a contour-line-highlight based upon the position of the mouse pointer to determine the context. Similarly, for features that would enforce quads such as auto-creating edge loops instead of using tris, if there is more than one possible way to apply the operation, then let the user decide.

Do you see any other problems that might arise with this feature? Due to subsurf, portability reasons, etc. there are a lot of reasons to want to stick only with quads. Comments and criticism are welcome, as although I know this feature would help me out, I don’t want to push a feature that no one else wants.

And if the auto created edge loop runs into triangles or runs into errors like crossing itself what would it do then? You have to be aware of cases where this can lock up and fail.

I see.

What I had in mind was somthing that would do this:


A cut going around a corner would result in this:


In either case a “no quads” option would extend the cut until it ran out of edge loop, as in your diagram.

One of the nice features of the loop cut tool is the preview in vivid purple of the proposed new edges. It would be good to have that included as well. Once the knife cut line was drawn, Blender would display the new edges and require a confirming keystroke to make them real.

EDIT: In effect, this is a loop cut that turns a user specified corner. There are situations, especially in organic modeling, where this would come in handy. I suppose if you selected enough edges and had a very steady hand, you could do this with the knife cut tool, but it would be a lot more convenient and quicker to select a “keep cutting” option.

In the case where the edge loops would meet with tris, practically speaking, that shouldn’t be a problem because the whole point of the feature is that it is part of workflow where you use quads only. If the edge loop would loop back onto itself (or if there actually were tris) I would think the action would be to give the user an informative error message and abort the operation (like it already does if you try to do an illegal operation).

As this is a forum, of course the idea is just being tossed around as something to consider. I’m not married to the idea. The reason I brought up the idea for discussion is because I know this operation would work for the cases I’ve had when I saw the need for it, only I do the operation manually instead of Blender doing it automatically. There were no tris, and the edge loops did not loop back on themselves.

Of course, that doesn’t mean it will fit in well with everyone’s modelling style or workflow. If you like tris, this feature isn’t for you. But then again there are tons of features I’ll probably never use (NURBS, toon rendering, etc.).

For those who do want to stick with a quad-only workflow, do you think this feature would be useful for you? If so, should it be built-in, or is it only occasionally useful and should be a script instead? If not, then please explain why or suggest some features that might be more useful for adding detail for quad-only modelling.

Like I said, I’m not married to the idea, but contrary to popular belief, I think it’s useful to ask possibly stupid questions just in case it might result in something genuinely useful. A feature suggestion is just a suggestion for possible improvement, not an insult of the application’s current feature set. If the idea I mentioned is impractical, then can anyone suggest some possible solutions (i.e. other than simple manual editing) that might help with quad modelling for issues such as:

  1. Keeping with quads-only when subdividing (if not auto-creating edge loops, then what else?). In other words, keeping quads when adding detail automatically (which is what a subdivide does).
  2. Keeping quads when reducing meshes (or at least result in a mesh that can be converted to quads easily). In other words, keeping quads when removing detail automatically (which is what mesh reduction does).
  3. making it easier to change pole-types or move poles to another part of the mesh

Please don’t balk at the issues outright. For the old-schoolers, do you remember what a pain it used to be to add an edge-loop by hand before the feature was added in Blender? Likewise, I would simply like more flexibility with modelling with quads that also can be automated as well, as it gets tedious removing tris by hand.

The new knife tool in CVS does exactly what you want with little effort. Knife midpoints (You press the ctrl button to snap the knife to the verts if you want). It also automatically creates the quads when you “cut the corner of a quad”.

GreyBeard

Thanks GreyBeard, I’ll be sure to watch for that feature in the next version (haven’t been successful with compiling yet). Are there any links for more info on the improved knife tool?