Fix #30531: mirror modifier with vertex groups did not add both the left and

right groups to merged vertices, only one. This made the result asymmetric,
now merged vertices will be part of both groups with half weight.
This commit is contained in:
2012-03-19 21:09:16 +00:00
parent 82979d5ab5
commit f18dab65ad
3 changed files with 30 additions and 2 deletions

View File

@@ -272,8 +272,12 @@ static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd,
flip_map= defgroup_flip_map(ob, &flip_map_len, FALSE);
if (flip_map) {
for (i = maxVerts; i-- > 0; dvert++) {
defvert_flip(dvert, flip_map, flip_map_len);
for (i = 0; i < maxVerts; dvert++, i++) {
/* merged vertices get both groups, others get flipped */
if(do_vtargetmap && (vtargetmap[i] != -1))
defvert_flip_merged(dvert, flip_map, flip_map_len);
else
defvert_flip(dvert, flip_map, flip_map_len);
}
MEM_freeN(flip_map);