Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2022-05-03 11:30:50 +0300
committerBastien Montagne <bastien@blender.org>2022-05-03 11:33:38 +0300
commit20f819d7082f0f7582a7a9e7f7be66e2b59aae63 (patch)
tree08119bf3df2935d7ff167836a135086104697f3b
parentcfdec85cd991115813d94ae0fb85e1eae56ea168 (diff)
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.
-rw-r--r--source/blender/blenkernel/intern/mesh_mirror.c5
1 files changed, 4 insertions, 1 deletions
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 {