Full Symmetrical Editing?

First of all, I’m still a bit green in Blender, so if this is an already existing, well hidden, super secret feature, apologies.

My question is about editing the model with a symmetry mode on. Yes, I’m aware of the mirror modifier, Symmetrize, Snap to Symmetry and the X mirror in options while in editing mode. These are only good either at an early stage of modeling, or when editing the model requires moving vertices/edges/faces only, not removing or adding anything.

Right now I have a character model, already finished, UVs are unwrapped, textures are painted, shaders set up. But I need to make a few changes that require removing, dissolving, merging or adding edges faces and vertices, and it needs to be done symmetrically. In order to speed up my work, I have to export it elsewhere. I think it’s very important to have all modeling tools fully operational in a symmetry mode, for when I want to return to a finished project for tweaking or adapting it for different purposes.

Any chance this can happen?

1 Like

Just to confirm that right now this isn’t possible. As far as I know x-mirror only works with the transform tools. It’s not all lost, though : for your case I’d recommend making a copy of the object, deleting one half and adding a mirror modifier, then use data transfer from the old object to the new to transfer UVS over.

3 Likes

This would be a nice feature. We have something similar when sculpting.

Symmetry in edit mode is made to apply transformations made on selection to mirrored elements.
But when you rotate such selection, pivot of transformation is bounding box center or median point of selection.
It is not bounding box center or median point of selection + selection of mirrored elements.

When you are deleting or adding elements, same principle is applied. You will suppress or subdivide elements of selection but not selection + selection of mirrored elements.

Currently if you need to subdivide or suppress a selection, you can extend selection by using Select Mirror operator.
For dissolving, result will depend on selection. If the fact to use Select Mirror produces a contiguous selection, result can be a unique Ngon instead of 2 mirrored.
For merging, if you collapse edges, as long as selection is non contiguous, it should work. But if you merge to center or active element, result will not be satisfying.

In theory, most of cases are solvable with use of Select Mirror and ocassional extra steps to deselect a centered element to break continuity of selection.
In practice, of course, it is slower and may be complicated if selection is made of many islands.

On the other hand, if this complexity is no more handled by user but by software ; it means work to develop exceptions and maintain this abilities.

2.8 made blender more popular but bugtracker made a jump to more than 2 thousands bugreports.
Developers already have lots of work just to make Blender do what manual says it is supposed to do.
You have to prepare yourself to wait if you want such feature request done.

That is a useful piece of advice, thank you. I just wish such workarounds weren’t necessary. It’s quite surprising that such feature hasn’t appeared during all these years.

I don’t expect them to quickly throw it in for my comfort, but it’s the sort of thing I think a self respecting 3D modeling program to have :wink: I hope developers see this and consider it for future versions, if they haven’t already.

This is something I’ve missed since switching to Blender.
While it has ‘X mirror’ in edit mode, the fact that it works with so few tools and actions means I never use it. I’d like to see a developer tackle this and add truly robust symmetric editing, including on meshes that aren’t fully symmetric (think of a jacket being almost fully symmetrical, but one side having the buttons and the other the holes), or that are posed.
I’d like to see mesh modeling being fully supported, uv seam marking, sliding…

2 Likes

Yeah there’s plenty of that in Blender. Truth is, if you know the history of the program, it’s actually surprising it does so much. Hopefully all those gaps will be filled now that funding & development skyrocketed.

3 Likes

Oh absolutely, Blender surprised me in many ways when I first switched. Perhaps that’s why the gaps stand out so much.

I’m thinking… if Blender goes the way of nodes and takes some inspiration from Houdini, there wouldn’t even be a need for symmetrical editing, because : mirror would just be a node in the chain like any other, so you would work on your model as you do now, except further down the chain you’d be able to put down some other nodes such as UVmirror, UVedit, etc. always active regardless of the changes made on the half-model.
Right now we have a mirror modifier, but no way to tweak UVs (or the resulting mesh even) on top of it, which is the main problem.

Regular mesh editing will always be a thing people need, either separately or on top of non-destructive nodal stuff.

1 Like

Well. Currently, you have options inside Mirror modifier to flip mirrored UVs or to offset them.
But edition of derived mesh data is not possible.
Actually, you cannot define an UV Island that would be a mix of basemesh faces UVs and UVs of faces created by modifier, not centered in UVspace.
But I am not sure, it will be possible at first iteration of modifier nodes.
Replacement of modifier stack by a nodetree does not imply that each level of that nodetree will be editable with current edit mode tools.

The two are compatible : it’s just that operations would be stacked, kept in memory and accessible at all times. This is how Houdini works actually : you just model in your viewport like in any other program, but behind the scenes it creates nodes (Maya as well, but it’s far from being as flexible). Bevel something ? It’s actually a bevel node with your edge selection as a target. Not only you can go back in time because history is preserved, but you can branch out from any point in your model’s history.

Sure, this is what I meant. Mirrored UVs are fine, but you may want finer control over them.

Indeed, but that’s what I would like to see. Anything less would seem kinda half-assed : having the good ol’ edit mode but only being able to edit the base mesh ? not being able to use the viewport for your selections, your tools…? that would be a ridiculous limitation, and hardly beyond what we have now.
I think “procedural modeling” has to go hand in hand with a revamp of edit mode, so we can enter it at any point in the node tree.

Sorry I digressed a little bit from the original question, but that seemed like a natural conversation to have : @Tamuna has stumbled upon one of the limitations we’d love to see lifted in the future. :slight_smile:

I would actively advise against this. modifiers/nodes should always be added consciously, Maya’s system is awful.

Imho better to completely get rid of symmetry support in tools… This checkbox - sometimes it is left enabled and when you edit one part of mesh that is not really intended to be symmetrical - you suddenly realise that the other part is completely broken thanks to “symmetry”

Better just add vertex group limitation to mirror modifier (as well as to subdivision). This way mesh can be mirrored only partially, where needed. Or several mirrors can be combined (with different centers, etc)

1 Like

Agreed. I don’t consider it a model either… on the other hand, Houdini is an excellent example.

I don’t see why ? As long as it’s unobstrusive… I recommend you take a look at some Houdini tutorials, it’s really enlightening !
Doing any kind of modeling operation in Houdini is a very conscious gesture and it does not do any harm, quite the contrary. As I said above it gives you a history of operations and allows you to branch out to create something else, as well as bundle it into an asset and expose just a few parameters that control the shape of your object (like this bridge for instance).
The implications of this are immense, hence a little hard to explain - here is a ‘classical’ modeling timelapse. It shows pretty well that there is in fact no need for a modeler to even look at the node tree that’s created. It’s there, it can be ‘baked’/‘collapsed’ at any time but it’s unobstrusive so there’s no real point in doing so.

Of course once we have such a system, I have nothing to say against a ‘don’t keep history’ checkbox.

1 Like

Sorry I digressed a little bit from the original question

I’m loving this digression, @Hadriscus, so no apologies needed. Going Houdini style is definitely not something I was considering for this, but it’s a very interesting idea. How much are Blender developers looking into taking this node based route though? I imagine it can be quite powerful and not only for this particular feature.

lol right I’m pushing hard for this yet I don’t want to sound like too much of a nazi (@Michael_Knubben <3), but I truly think it can be both simple and powerful if done the right way (as can be seen in other software). There’s an official plan, still rather scarce in specifics, from Ton and other core developers to go for a fully node-based environment to replace current linear solutions such as constraints, modifiers, and so on. Right now the first foray into this is Jacques Lucke’s bparticles and it’s looking pretty good.

So what did you end up doing regarding your issue ?

I ended up postponing the end :smiley: I’ll try to avoid making drastic changes, but when absolutely need to, I’ll go your suggested route, I suppose

I’m aware of how Houdini works, but… I think most stacks that are made as part of ‘regular modeling’, as you’d get in Maya, are flawed.
They’re not actually useful non-destructive stacks, as selections are made by vertex index etc., and if you started from an 8-sided cylinder and you change that to a 7-sided one at the end, the result will almost always fail entirely.
Whereas if the user consciously added nodes/modifiers, they could’ve made selections with a volume, or a logic-based (every x steps of a loop) approach. I think this kind of thinking is always absolutely needed to produce meaningful procedural results, otherwise the stack becomes a mess that nobody but the most experienced can ‘fix’.

I’m just much more in favour of a system that works from a ‘think first’ perspective, rather than a ‘just add shit and hope it works’ one.

Having said that, I’d certainly trust Houdini more than Maya in this regard, as at least it doesn’t crash on simple models if you ‘forgot’ to ‘delete your history’.