Merge branch 'blender-v3.0-release'

This commit is contained in:
Campbell Barton 2021-11-12 18:35:19 +11:00
commit aa1c44a113
Notes: blender-bot 2023-02-14 11:20:29 +01:00
Referenced by issue #95541, Regression: Broken vertex weight with mirror modifier
1 changed files with 12 additions and 5 deletions

View File

@ -260,10 +260,16 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
mul_m4_v3(mtx, mv->co);
if (do_vtargetmap) {
/* compare location of the original and mirrored vertex, to see if they
* should be mapped for merging */
/* Compare location of the original and mirrored vertex,
* to see if they should be mapped for merging.
*
* Always merge from the copied into the original vertices so it's possible to
* generate a 1:1 mapping by scanning vertices from the beginning of the array
* as is done in #BKE_editmesh_vert_coords_when_deformed. Without this,
* the coordinates returned will sometimes point to the copied vertex locations, see: T91444.
*/
if (UNLIKELY(len_squared_v3v3(mv_prev->co, mv->co) < tolerance_sq)) {
*vtmap_a = maxVerts + i;
*vtmap_b = i;
tot_vtargetmap++;
/* average location */
@ -271,10 +277,11 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
copy_v3_v3(mv_prev->co, mv->co);
}
else {
*vtmap_a = -1;
*vtmap_b = -1;
}
*vtmap_b = -1; /* fill here to avoid 2x loops */
/* Fill here to avoid 2x loops. */
*vtmap_a = -1;
vtmap_a++;
vtmap_b++;