[Bf-blender-cvs] [b81939716de] master: Fix T70378: Grease pencil armature modifier not normalizing weights as expected.

Jean First noreply at git.blender.org
Tue Dec 3 16:16:34 CET 2019


Commit: b81939716de822b3d35c8c4ae30a9f9b1ea23bbc
Author: Jean First
Date:   Tue Dec 3 15:53:22 2019 +0100
Branches: master
https://developer.blender.org/rBb81939716de822b3d35c8c4ae30a9f9b1ea23bbc

Fix T70378: Grease pencil armature modifier not normalizing weights as expected.

The function armature_vert_task had a special case for Vertex Paints in Grease Pencil data. This patch
removes this special case. Not sure why it was needed in the first place.

Reviewed By: antoniov

Maniphest Tasks: T70378

Differential Revision: https://developer.blender.org/D6348

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

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

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

diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index a694a335069..4ecb4093692 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -1561,7 +1561,6 @@ static void armature_vert_task(void *__restrict userdata,
     MDeformWeight *dw = dvert->dw;
     int deformed = 0;
     unsigned int j;
-    float acum_weight = 0;
     for (j = dvert->totweight; j != 0; j--, dw++) {
       const int index = dw->def_nr;
       if (index >= 0 && index < data->defbase_tot && (pchan = data->defnrToPC[index])) {
@@ -1575,20 +1574,8 @@ static void armature_vert_task(void *__restrict userdata,
               co, bone->arm_head, bone->arm_tail, bone->rad_head, bone->rad_tail, bone->dist);
         }
 
-        /* check limit of weight */
-        if (data->target->type == OB_GPENCIL) {
-          if (acum_weight + weight >= 1.0f) {
-            weight = 1.0f - acum_weight;
-          }
-          acum_weight += weight;
-        }
-
         pchan_bone_deform(pchan, weight, vec, dq, smat, co, &contrib);
 
-        /* if acumulated weight limit exceed, exit loop */
-        if ((data->target->type == OB_GPENCIL) && (acum_weight >= 1.0f)) {
-          break;
-        }
       }
     }
     /* if there are vertexgroups but not groups with bones



More information about the Bf-blender-cvs mailing list