Commit: 32949594465c8421118196d1694ee82525922b40 Author: Martin Felke Date: Sun Jun 18 11:08:21 2017 +0200 Branches: fracture_modifier https://developer.blender.org/rB32949594465c8421118196d1694ee82525922b40
attempt to have "plastic" constraint deform by re-constraining via angle, distance deformation mode happens when breakable is set to false, but angle or distance is set =================================================================== M source/blender/blenkernel/intern/rigidbody.c =================================================================== diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c index 53f27f095cb..6d7fffffe55 100644 --- a/source/blender/blenkernel/intern/rigidbody.c +++ b/source/blender/blenkernel/intern/rigidbody.c @@ -3750,12 +3750,19 @@ static void handle_breaking_angle(FractureModifierData *fmd, Object *ob, RigidBo { if (fmd->use_breaking) { + //break constraint if (rbsc->physics_constraint) { RB_constraint_set_enabled(rbsc->physics_constraint, false); activateRigidbody(rbsc->mi1->rigidbody, rbw, rbsc->mi1, ob); activateRigidbody(rbsc->mi2->rigidbody, rbw, rbsc->mi2, ob); } } + else { + //attempt to make plastic deform by reconstraining the shards + if (rbsc->physics_constraint) { + BKE_rigidbody_validate_sim_shard_constraint(rbw, fmd, ob, rbsc, true); + } + } } } @@ -3770,6 +3777,12 @@ static void handle_breaking_angle(FractureModifierData *fmd, Object *ob, RigidBo activateRigidbody(rbsc->mi2->rigidbody, rbw, rbsc->mi2, ob); } } + else { + //attempt to make plastic deform by reconstraining the shards + if (rbsc->physics_constraint) { + BKE_rigidbody_validate_sim_shard_constraint(rbw, fmd, ob, rbsc, true); + } + } } } @@ -3791,6 +3804,12 @@ static void handle_breaking_distance(FractureModifierData *fmd, Object *ob, Rigi activateRigidbody(rbsc->mi2->rigidbody, rbw, rbsc->mi2, ob); } } + else { + //attempt to make plastic deform by reconstraining the shards + if (rbsc->physics_constraint) { + BKE_rigidbody_validate_sim_shard_constraint(rbw, fmd, ob, rbsc, true); + } + } } } @@ -3805,6 +3824,12 @@ static void handle_breaking_distance(FractureModifierData *fmd, Object *ob, Rigi activateRigidbody(rbsc->mi2->rigidbody, rbw, rbsc->mi2, ob); } } + else { + //attempt to make plastic deform by reconstraining the shards + if (rbsc->physics_constraint) { + BKE_rigidbody_validate_sim_shard_constraint(rbw, fmd, ob, rbsc, true); + } + } } } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs