collider_type
There are two types of colliders:
- A solid collider represents a geometric shape that can have contact points with other colliders to generate contact forces to prevent objects from penetrating-each-others.
- Sensor colliders on the other end don't generate contacts: they only generate intersection events when one sensor collider and another collider start/stop touching. Sensor colliders are generally used to detect when something enters an area. Note that, for symmetry with non-sensor colliders, sensors do contribute to the mass of a rigid-body they are attached to.
By default a collider is a solid collider. This can be changed to a sensor when constructing the collider, or after its construction:
/* Set the collider sensor when the collider is created. */
commands.spawn(Collider::ball(0.5)).insert(Sensor);
/* Change the collider sensor status inside of a system. */
fn modify_collider_type(mut commands: Commands, sensors: Query<Entity, With<Sensor>>) {
for entity in sensors.iter() {
commands.entity(entity).remove::<Sensor>();
}
}