More symmetry in Blender (for Modeling)

This post/question/proposal is about symmetric workflows in Blender for a variety of symmetry types.

The most used symmetry type is mirror symmetry (most of the time on the X-axis only). That is very well implemented using Mirror Modifier, Symmetrize Operator and X-Mirror Options for a lot of modes and especially using the Mirror Modifier with Clipping, Merging and Bisect is a pleasure.

The second most used symmetry is rotational symmetry. The general approach to do that is either model in a way to keep the symmetry of a cylinder, or using the Array Modifier with a custom Object Offset.
Both ways are kind of painful when used a lot. The first thing to do to reduce the pain is remove the need for an Object Offset in the Array Modifier (https://developer.blender.org/D7517). The second (better) solution for rotational symmetry is to add it to the Mirror Modifier (more on that in the second part of the post).

The third often used symmetry is icosaeder symmetry. It is most of the time achieved by using a Icosaeder as a base mesh and then always operating on symmetric selections. That is a real pain, because often a simple selection can take you 5 minutes if you are unlucky, because you need to do it on every side (which there are 20 or 12 of depending on your case). It is also possible to use multiple Array Modifiers with multiple different Object Offsets to create the symmetry but it is really hard to setup.

And then there are more symmetries (some are obscure) like tetrahedral symmetry.

My proposal is to make everything of this possible with the Mirror Modifier (and I am ready to code it myself). The Mirror Modifier would obviously be renamed to Symmetry Modifier then.

There are a lot of benefits from including more symmetries in the Mirror Modifier. The most important ones are easy usage, Custom Origin, Bisect (Flip), Merge and Clipping(!).
I imagine it as a dropdown selection box to choose between Mirror Symmetry, Rotational Symmetry, Icosaeder Symmetry and maybe more as it should be implemented in a way to be extendible.
All symmetries would need to have all the current mirror modifier options anyway so that can be shared beautifully.

I would like to know if such a change would be welcome by the blender developers or if it would have no chance at getting in. I would also like to know if there is anything, that has to be changed in the here proposed design to make it even better.

8 Likes

Just want to voice my support, as a modeler. For complex symmetries I usually instance (alt+D) and transform the object (possibly a good number of times), which leads to more scene complexity and potential problems with managing multi-user data & modifiers on these objects.