When we want two objects to pass each other, we can define them as never colliding with each other or even never colliding with anything. This is done by collision filtering. Each fixture can have the following three parameters defined:
Its own category
Other categories that it collides with
Whether or not to collide with bodies in a specific group
When creating a FixtureDef
object, there is a constructor that allows us to specify all the parameters:
FixtureDef fixture = PhysicsFactory.createFixtureDef(density, elasticity, friction, sensor, category, categoryMask, groupIndex);
Category is a number of the type short
. This means that it is 16 bits long, and therefore, there are 16 categories. The other two parameters are of the type short
as well.