[Bf-blender-cvs] [20f819d7082] blender-v3.2-release: Fix T95541: Broken vertex weight with mirror modifier.

Bastien Montagne noreply at git.blender.org
Tue May 3 10:34:05 CEST 2022


Commit: 20f819d7082f0f7582a7a9e7f7be66e2b59aae63
Author: Bastien Montagne
Date:   Tue May 3 10:30:50 2022 +0200
Branches: blender-v3.2-release
https://developer.blender.org/rB20f819d7082f0f7582a7a9e7f7be66e2b59aae63

Fix T95541: Broken vertex weight with mirror modifier.

Regression from rB1a7757b0bc69/rBa0acb9bd0cc0. Special handling
(averaging) of weights on merged center vertices also requires to be
'reversed' when new correct merge order is used, compared to previous
behavior.

===================================================================

M	source/blender/blenkernel/intern/mesh_mirror.c

===================================================================

diff --git a/source/blender/blenkernel/intern/mesh_mirror.c b/source/blender/blenkernel/intern/mesh_mirror.c
index 9202690b3c9..715a1c9daf9 100644
--- a/source/blender/blenkernel/intern/mesh_mirror.c
+++ b/source/blender/blenkernel/intern/mesh_mirror.c
@@ -455,7 +455,10 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
     if (flip_map) {
       for (i = 0; i < maxVerts; dvert++, i++) {
         /* merged vertices get both groups, others get flipped */
-        if (do_vtargetmap && (vtargetmap[i] != -1)) {
+        if (use_correct_order_on_merge && do_vtargetmap && (vtargetmap[i + maxVerts] != -1)) {
+          BKE_defvert_flip_merged(dvert - maxVerts, flip_map, flip_map_len);
+        }
+        else if (!use_correct_order_on_merge && do_vtargetmap && (vtargetmap[i] != -1)) {
           BKE_defvert_flip_merged(dvert, flip_map, flip_map_len);
         }
         else {



More information about the Bf-blender-cvs mailing list