[Bf-blender-cvs] [e29680e] fracture_modifier: forgot to take some rigidbody settings into account during object conversion
Martin Felke
noreply at git.blender.org
Sun Jan 24 19:11:15 CET 2016
Commit: e29680e0e2a3b29990373d7d08adfb8a620fe25f
Author: Martin Felke
Date: Sun Jan 24 19:11:03 2016 +0100
Branches: fracture_modifier
https://developer.blender.org/rBe29680e0e2a3b29990373d7d08adfb8a620fe25f
forgot to take some rigidbody settings into account during object conversion
===================================================================
M source/blender/blenkernel/intern/rigidbody.c
M source/blender/editors/object/object_modifier.c
===================================================================
diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c
index 5eaabff..154547e 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -2354,6 +2354,13 @@ RigidBodyOb *BKE_rigidbody_create_object(Scene *scene, Object *ob, short type, M
if (mi != NULL && mi->rigidbody != NULL)
{
+ rbo->flag = mi->rigidbody->flag;
+
+ rbo->physics_object = NULL;
+ rbo->physics_shape = NULL;
+
+ rbo->flag |= RBO_FLAG_NEEDS_VALIDATE;
+
rbo->type = mi->rigidbody->type;
rbo->mass = mi->rigidbody->mass;
@@ -3433,7 +3440,7 @@ static bool do_update_modifier(Scene* scene, Object* ob, RigidBodyWorld *rbw, bo
handle_regular_breaking(fmd, ob, rbw, rbsc, max_con_mass, rebuild);
}
- if (fmd->fracture_mode == MOD_FRACTURE_EXTERNAL)
+ if (fmd->fracture_mode == MOD_FRACTURE_EXTERNAL && (rbsc->flag & RBC_FLAG_USE_BREAKING))
{
handle_plastic_breaking(rbsc, rbw, laststeps, lastscale);
}
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 098bd42..0e38ed5 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -2882,6 +2882,10 @@ static Object* do_convert_constraints(FractureModifierData *fmd, RigidBodyShardC
}
else
{
+ if ((fmd->use_mass_dependent_thresholds)) {
+ BKE_rigidbody_calc_threshold(max_con_mass, fmd, con);
+ }
+
/*use same settings as in modifier
*XXX Maybe use the CENTER between objects ? Might be correct for Non fixed constraints*/
/* location for fixed constraints doesnt matter, so keep old setting */
More information about the Bf-blender-cvs
mailing list