Commit: eebf770f1d36494aa5409f58e420543e32770c04
Author: Martin Felke
Date:   Tue Feb 17 22:39:25 2015 +0100
Branches: fracture_modifier
https://developer.blender.org/rBeebf770f1d36494aa5409f58e420543e32770c04

fix : set some better default values for Fractal Boolean, so the object / 
default cube should not explode automatically, but its far from optimal still 
this way.... (active objects with Mesh Shape cause unstable simulation behavior)

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

M       source/blender/modifiers/intern/MOD_fracture.c

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

diff --git a/source/blender/modifiers/intern/MOD_fracture.c 
b/source/blender/modifiers/intern/MOD_fracture.c
index 61f5cbe..fe2fcc2 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -1353,6 +1353,22 @@ static float mesh_separate_tagged(FractureModifierData 
*rmd, Object *ob, BMVert
        mi->rigidbody = BKE_rigidbody_create_shard(rmd->modifier.scene, ob, mi);
        BKE_rigidbody_calc_shard_mass(ob, mi, orig_dm);
 
+       if (rmd->frac_algorithm == MOD_FRACTURE_BOOLEAN_FRACTAL)
+       {
+               /* cant be kept together in other ways */
+               rmd->use_constraints = true;
+               rmd->contact_dist = 2.0f;
+               rmd->breaking_angle = DEG2RADF(1.0f);
+
+               /* this most likely will only work with "Mesh" shape*/
+               mi->rigidbody->shape = RB_SHAPE_TRIMESH;
+               mi->rigidbody->margin = 0.0f;
+
+               /* set values on "handle object" as well */
+               ob->rigidbody_object->shape = RB_SHAPE_TRIMESH;
+               ob->rigidbody_object->margin = 0.0f;
+       }
+
        mi->start_frame = 
rmd->modifier.scene->rigidbody_world->pointcache->startframe;
 
 
@@ -2490,6 +2506,23 @@ static DerivedMesh *doSimulate(FractureModifierData 
*fmd, Object *ob, DerivedMes
 
                                        mi->rigidbody = 
BKE_rigidbody_create_shard(fmd->modifier.scene, ob, mi);
                                        BKE_rigidbody_calc_shard_mass(ob, mi, 
orig_dm);
+
+                                       if (fmd->frac_algorithm == 
MOD_FRACTURE_BOOLEAN_FRACTAL)
+                                       {
+                                               /* cant be kept together in 
other ways */
+                                               fmd->use_constraints = true;
+                                               fmd->contact_dist = 2.0f;
+                                               fmd->breaking_angle = 
DEG2RADF(1.0f);
+
+                                               /* this most likely will only 
work with "Mesh" shape*/
+                                               mi->rigidbody->shape = 
RB_SHAPE_TRIMESH;
+                                               mi->rigidbody->margin = 0.0f;
+
+                                               /* set values on "handle 
object" as well */
+                                               ob->rigidbody_object->shape = 
RB_SHAPE_TRIMESH;
+                                               ob->rigidbody_object->margin = 
0.0f;
+                                       }
+
                                        mi->vertex_indices = NULL;
                                        mi->start_frame = 
fmd->modifier.scene->rigidbody_world->pointcache->startframe;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to