3
$\begingroup$

I rigged a mesh human I'd made and it worked fine. I deleted the parenting and the armature modifier between the skeleton and human so I could edit the mesh more. While editing the human, I decided I'd change one side and mirror it to the other. I deleted one half and mirrored the changed half to where the one I'd just erased was. I connected the skeleton to the skin again, using automatic weights as I had the first time, however the weights were asymetrical. The right arm of the mesh works fine, but moving either arm on the skeleton causes the left arm of the mesh to freak out. Same goes for the legs.

So, how come the automatic weights got messed up? Why isn't it grabbing the skin symmetrically? Image

$\endgroup$
1
  • $\begingroup$ It seems deleting all the vertex groups and then rigging the skin back on worked, but I'd still like to know why this happened in the first place. $\endgroup$
    – Everett
    Commented Jan 25, 2014 at 21:37

2 Answers 2

2
$\begingroup$

Further to sambler's answer - the Mirror modifier has the option to mirror vertex groups, which helps significantly in avoiding this problem in the first place. For this to work, however, your groups need to be named with a suffix indicating what side of the figure they're on.

Vertex groups for left-side should end in the suffix .L, vertex groups for right-side should end in the suffix .R. This is not configurable, which irritates me :)

Both sets of groups need to exist, even if you don't have any vertexes in one half of them before adding the mirror modifier. The modifier won't create needed groups. This would also be a good feature.

I do plan on trying to tackle both those irritants once I wrap my head around more of how the internals work.

$\endgroup$
1
$\begingroup$

By duplicating the mesh from one side to the other you are also copying the data that says "this vertex belongs to group arm.L". When the armature then links to vertices of group arm.L it moves vertices that exist on both sides of your model.

As you found removing the vertex groups allows the armature linking routines to create new groups that only include the desired vertices.

The vertices that didn't move would be the new vertices you added during the re-modelling.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .