From 20f819d7082f0f7582a7a9e7f7be66e2b59aae63 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 3 May 2022 10:30:50 +0200 Subject: 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. --- source/blender/blenkernel/intern/mesh_mirror.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 { -- cgit v1.2.3