Questions about Constraints and Compounds
Posted: Thu Jan 07, 2016 11:28 am
Hello,
i am using btFixedConstraints to connect fracture shards of a rigidbody. In order to do this, i iterate over each shard and create constraints to other shards within a certain search radius. This is calculated between shard centroids. I also take care not to create doubled constraints, means if 2 bodies are already connected, i dont make another connection between them.
You can see this behavior in the Blender Fracture Modifier (i am the developer of this )
Sources are here....
https://developer.blender.org/diffusion ... _modifier/
Builds can be downloaded here...
http://df-vfx.de/fracturemodifier/
Now my questions:
1) Why does there still exist some "wobbling" or "jiggling" between those shards despite all 6 DOFs being locked ? Say if a fractured object falls down and hits the ground, it doesnt quite retain its shape, even if the shards should not break off yet. Instead, shards move against each other.
2) I also tried a completely different approach, using compound shapes and constraint info to build them and destroy them (instead of making an N^2 iteration over all manifolds to find adjacent pairs). There no wobbling happens, but its very hard to control how and when the shards should break off.
Are there maybe ways to mimic either fixed constraint simulation behavior within a compound or make fixed constraints "really bombproof" means, they stick together as if they were welded together until they shall break ?
I already posted here regarding this topic, but i also see its a rather complex one....
More details here:
http://www.bulletphysics.org/Bullet/php ... 12&t=10883
3) Can i also re-set the "constraint rest pose" (as i call it) mid-simulation ? means if say an angle of 5 degrees is exceeded between 2 connected rigidbodies (again based on location, rotation data of centroid) the constraint wont jiggle back to the start position, but snaps to that angle as new rest position ? This would allow to simulate plasticity / deformation between shards (i think)
So all in all i try to achieve to get really "fixed" constraints and maybe for other use cases something like plastic deformation.
Hope anybody can give me some hints or pointers, would really appreciate
scorpion81
i am using btFixedConstraints to connect fracture shards of a rigidbody. In order to do this, i iterate over each shard and create constraints to other shards within a certain search radius. This is calculated between shard centroids. I also take care not to create doubled constraints, means if 2 bodies are already connected, i dont make another connection between them.
You can see this behavior in the Blender Fracture Modifier (i am the developer of this )
Sources are here....
https://developer.blender.org/diffusion ... _modifier/
Builds can be downloaded here...
http://df-vfx.de/fracturemodifier/
Now my questions:
1) Why does there still exist some "wobbling" or "jiggling" between those shards despite all 6 DOFs being locked ? Say if a fractured object falls down and hits the ground, it doesnt quite retain its shape, even if the shards should not break off yet. Instead, shards move against each other.
2) I also tried a completely different approach, using compound shapes and constraint info to build them and destroy them (instead of making an N^2 iteration over all manifolds to find adjacent pairs). There no wobbling happens, but its very hard to control how and when the shards should break off.
Are there maybe ways to mimic either fixed constraint simulation behavior within a compound or make fixed constraints "really bombproof" means, they stick together as if they were welded together until they shall break ?
I already posted here regarding this topic, but i also see its a rather complex one....
More details here:
http://www.bulletphysics.org/Bullet/php ... 12&t=10883
3) Can i also re-set the "constraint rest pose" (as i call it) mid-simulation ? means if say an angle of 5 degrees is exceeded between 2 connected rigidbodies (again based on location, rotation data of centroid) the constraint wont jiggle back to the start position, but snaps to that angle as new rest position ? This would allow to simulate plasticity / deformation between shards (i think)
So all in all i try to achieve to get really "fixed" constraints and maybe for other use cases something like plastic deformation.
Hope anybody can give me some hints or pointers, would really appreciate
scorpion81