diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-10-06 08:06:47 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-10-06 08:06:47 +0400 |
commit | 2b3ef4b18bfffed6afdba54db29bcea4d3c93d85 (patch) | |
tree | 0ee6a45691d605db3088ec3955ddc080bbc442c6 /source | |
parent | 6af6cf2055426670795ff8a34cfcfb2f9912a2ea (diff) |
fix [#26193] Weightpainting on Mesh with Armature-Modifier fails if x-mirror and auto normalize is enabled
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_vertex.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c index f91d4a23699..d724541943b 100644 --- a/source/blender/editors/sculpt_paint/paint_vertex.c +++ b/source/blender/editors/sculpt_paint/paint_vertex.c @@ -1618,9 +1618,14 @@ static void do_weight_paint_vertex( /* vars which remain the same for every vert /* copy, not paint again */ uw= defvert_verify_index(dv_mirr, (wpi->vgroup_mirror != -1) ? wpi->vgroup_mirror : vgroup); uw->weight= dw->weight; - do_weight_paint_auto_normalize_all_groups(dv_mirr, wpi->vgroup_validmap, wpi->do_auto_normalize); } } + + /* important to normalize after mirror, otherwise mirror gets wight + * which has already been scaled down in relation to other weights, + * then scales a second time [#26193]. Tricky multi-paint code doesn't + * suffer from this problem - campbell */ + do_weight_paint_auto_normalize_all_groups(dv_mirr, wpi->vgroup_validmap, wpi->do_auto_normalize); } else { /* use locks and/or multipaint */ |