The pieces are jumping around because their mass is set too high. Adjust them so they're lower and the bouncing should stop. This should also prevent them from falling through the ground, as well.
For instance, if you add this code in the appropriate spots to your game or in some tutorial project (e.g. Code Editor's "EsenthelEngineSDK/Tutorials - Esenthel Script/Loading World" project), you'll see the bouncing effect:
Code:
Mesh mesh;
Actor actor;
bool Init()
{
Box box(0.1f);
mesh.setBase().parts.New().base.create(box, VTX_TEX0 | VTX_NRM);
mesh.setNormals().setAutoTanBin();
mesh.setRender().setBox();
actor.create(box, 1).mass(1).ccd(true).pos(Vec(5));
// ...
}
void Render()
{
Game.World.draw();
switch(Renderer())
{
case RM_PREPARE:
{
mesh.draw(actor.matrix());
} break;
}
}
However, if you change the mass from 1 to 0.1f, the bouncing stops.
Also, turning off ccd with a mass of 1, in this example, will cause the actor to fall through the ground. Keeping ccd on seems to prevent the actor from falling through the ground regardless of its mass (I set it to 1000, still doesn't fall through but it bounces a bit).
That being said, this does not seem to be the case with destructible objects. I was still able to get actors to fall through the ground even with ccd turned on (as you said) by setting the mass high. Why this is the case, I do not know...