Picking up items like in Portal causing physics issues

I am currently working on a game in which one of the main actions will be picking up random multicolor cubes with a portal-type interface. For those who may be unaware, in Portal, right clicking on many objects picks them up. I am attempting to allow similar activities in my game. I am accomplishing this by using an app state to apply the appropriate forces to push the currently picked up object to the desired position. It seems to work well enough on smaller objects (1x1x1 cubes) but fails on larger objects as they are shoved slightly less than halfway into the ground where they continually bounce around.

Here is a video demonstrating this:

Try using a more tessellated terrain, bullet doesn’t like massive triangles apparently … Or you can use a PlaneCollisionShape.

I already tried that. I kept the same Geometry in the scene graph but I added several smaller rigid bodies (256 to be specific) to cover it’s entire area. The same problem still occurred.

I don’t know, just looking at the video you put I can see huge triangles on the terrain and generally that’s not recommended.

The collision splitting wasn’t enabled in that video. However, the same issue occurred when it was enabled.

How heavy are your cubes?

Try to make an box floor instead of an quad.
Also, do you have any special settings on the bullet app state ? If so post the code.
Try the physics tick with 60 fps, also, use fsync to less then the physics tick, for example 40.

The cubes are widthheightdepth*5 in mass (the width height and depth being the numbers passed into Box’s constructor.

The floor is a box in physics space and a custom mesh quad in rendered space.

//setup collision
RigidBodyControl groundRigidBody = new RigidBodyControl(new BoxCollisionShape(new Vector3f(GROUND_SIZE_HALF, 1f, GROUND_SIZE_HALF)), 0f);
groundRigidBody.setPhysicsLocation(new Vector3f(0, -1, 0));
blockTower.getBulletAppState().getPhysicsSpace().add(groundRigidBody);