diff options
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/armature_deform.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/armature_deform.c b/source/blender/blenkernel/intern/armature_deform.c index 4acbcbfb13e..89afb886fc2 100644 --- a/source/blender/blenkernel/intern/armature_deform.c +++ b/source/blender/blenkernel/intern/armature_deform.c @@ -301,12 +301,22 @@ static void armature_vert_task_with_dvert(const ArmatureUserdata *data, } /* check if there's any point in calculating for this vert */ - if (armature_weight == 0.0f) { - return; + if (vert_coords_prev) { + if (prevco_weight == 1.0f) { + return; + } + + /* get the coord we work on */ + co = vert_coords_prev[i]; } + else { + if (armature_weight == 0.0f) { + return; + } - /* get the coord we work on */ - co = vert_coords_prev ? vert_coords_prev[i] : vert_coords[i]; + /* get the coord we work on */ + co = vert_coords[i]; + } /* Apply the object's matrix */ mul_m4_v3(data->premat, co); |