TransWikia.com

Rigid body falls through static mesh even though collision is detected

Game Development Asked by Grimelios on September 18, 2020

I’m using Jitter Physics to create a game. For testing, I have ball (a spherical rigid body) falling onto a small box-like mesh. The problem is that the ball falls straight through the floor, even though the collision seems to be detected properly.

Ball (spherical rigid body) falling onto a custom mesh.

The mesh’s rigid body is created using a triangle mesh shape. In the code below, model is the floor’s 3D model

Octree octree = PhysicsUtilities.ExtractOctree(model);
octree.BuildOctree();

Body body = new RigidBody(new TriangleMeshShape(octree));
body.IsStatic = true;

The PhysicsUtilities.ExtractOctree function extracts vertices from the 3D model in order to create the rigid body. As far as I can tell, that function is working correctly (i.e. all vertices and indices look correct). To check if the collision was detected, I added a callback function as follows.

CollisionSystem collisionSystem = new CollisionSystemSAP();
collisionSystem.CollisionDetected += OnCollisionDetected;

World world = new World(collisionSystem);

The ball-floor collision is detected and everything about the collision looks correct. I’ve even tried changing values in world.ContactSettings, but nothing worked.

Has anyone else experienced this problem? I’ve tried everything I can and Jitter’s documentation is pretty low.

One Answer

Collision detection has very little to do with collision response, besides triggering it.

Check your settings for both bodies, and the settings for the physics system:

  1. Collision callbacks: Is there a collision behaviour for each body?
  2. Body density: if density is too low, objects float through each other.
  3. Mass: physics needs this to compute kinematic response and normal forces. make sure the value is set.

Answered by Ian Young on September 18, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP