I have a problem: I set the LinearVelocity of an physical Object to a very high value (100 or more than the Vector of the camera Direction):
If I set this value to 25 or something similar I have no problems, but I need fast objects. With a speed of 200 often no collisions happend - the object fly through the other object. I think this happens because the Object wich observing the collisions does not recognize the collision (in the one frame object 1 is before object 2 and in the next frame object 1 is behind object 2).
Has anybody an idea how to resolve this?
And beside of this: Is there any possibility in jMonkey to remove object from the Screen (from the Node) wich are longer then X seconds visible?
Thats what continuous collision detection is for. Use rigidBody.setCcdThreshold(amountToMoveBeforeCheck), it should be set to about 1/2 the radius of the object.
thanks for your reply. That makes it much better. I set the RigidBodyControl of the object wich is moving so fast to the half of his own radius (its the smallest object in the game, too: it has a radius of 0.1, so is set the RigidBodyControl to 0.05).
Unfortunately it still happens sometimes (less often then before) that object 1 moves through object 2 without collision.
I try to set RigidBodyControl to 0.04 and 0.03, too. But without success.
Do you have a platform you can test this on with native physics? I think jbullet has some quirks in the sweeping tests, which are used for ccd.