5
$\begingroup$

So far I only find option to mirror the existing weights, but didn't find a way to mirror + copy it, I mean, I want to create symmetrical weights on the other side, but I also want to keep the original, both sides should be in the same group.

For example:

enter image description here

$\endgroup$
8
+50
$\begingroup$

enter image description here

  1. Copy your vertex group
  2. Mirror your vertex group

Now you just have to merge them togerher. Do it with script if you wanna automatize it or by hand:

  1. How to merge vertex groups?
$\endgroup$
  • 1
    $\begingroup$ Such a basic feature, sadly we haven't implemented it yet... Anyway, thanks for the solution. $\endgroup$ – Leon Cheung Jan 25 '16 at 9:08
4
$\begingroup$

This might be more a bug than a feature, but because of the way the "x mirror" tool works in Blender 2.79b, I was able to mirror vertex weights in an easy, but slightly counter-intuitive, way:

  1. Enable X-mirror for weight painting enter image description here

  2. Set your brush to the add setting, and change the weight and strength parameters to 0.0 and 1.0 respectively. Before mirror

  3. Draw over all the weights you want to copy over to the other side. This adds 0.0 to each weight, so it makes no difference to the side you are actually painting. But since the strength is 1.0, the X-mirror feature sets the vertex weights on the other side of your mesh to 1.0 times the weights of your original mesh, essentially mirroring the weights. enter image description here

$\endgroup$
  • $\begingroup$ Haha, interesting yet working... +1 Thanks for the contribution. $\endgroup$ – Leon Cheung Oct 8 '18 at 5:57
2
$\begingroup$

For copying existing groups, in weight paint mode, press the space bar and type "Copy vertex group", and hit enter:

Copy vertex group

A new group will appear under "Vertex Groups" under the "Object data" tab. Next, hit space bar again and type "Mirror vertex group", and hit enter:

Mirror vertex group

Now, from the list of "Vertex Groups", select "Group", and press Tab to enter Edit Mode. Deselect all vertices by pressing the A key until the vertices aren't highlighted. Under "Vertex Groups", four new buttons have appeared. With "Group" selected, click "Select". This will select the vertices in this group:

Group select

Next, from the list of "Vertex Groups", select "Group_copy", and click Select. Now you should have four vertices selected in total:

Four vertices selected

Next, press the + button to add a new vertex group:

New vertex group

With the new vertex group selected, click "Assign":

Assign vertices

Now, if you tab back into Weight Paint mode, selecting the various groups from the list of Vertex Groups will show the different vertex weights assigned to each group

For mirroring while painting, ensure that "X Mirror" is enabled under the "Options" tab of the tool panel:

X Mirror

$\endgroup$
  • $\begingroup$ Thanks. Both ways tried. But the first one only assign vertices, not weight on each verts. While the second one is not work for existing weights. $\endgroup$ – Leon Cheung Jan 13 '16 at 3:27
  • $\begingroup$ # this will not work for weights more than 0 and less than 1. The assign button will always assign the weight of 1.0. $\endgroup$ – Jaroslav Jerryno Novotny Jan 22 '16 at 9:00
2
$\begingroup$

This is a stab in the dark, but provided the mesh is symmetrical, slice it down the middle in Edit mode, duplicate & mirror the vertices. Then either in edit mode or perhaps separating the new mirrored vertices into a separate object, then mirror the vertex groups. Finally rejoin, remove doubles, fix normals.

Not quite a one-click solution.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.