@ue-too/dynamics / index / CollisionFilter
介面: CollisionFilter
Collision filtering configuration for rigid bodies.
備註
Collision filters use a bitmask system to control which bodies can collide with each other. This is useful for creating layers, groups, and special collision rules in your physics simulation.
How Filtering Works
Two bodies A and B can collide if ALL of these conditions are met:
(A.category & B.mask) !== 0- A's category matches B's mask(B.category & A.mask) !== 0- B's category matches A's mask- Group rules are satisfied (see group field)
屬性
category
category:
number
What category this body belongs to (bitmask).
範例
typescript
category: CollisionCategory.PLAYER // 0x0004group
group:
number
Collision group for special rules.
- 0: No group (use category/mask rules)
- Positive: Bodies in same group ALWAYS collide
- Negative: Bodies in same group NEVER collide
範例
typescript
// Ragdoll parts shouldn't collide with each other
group: -1
// Team members always collide (for physics interactions)
group: 1mask
mask:
number
What categories this body can collide with (bitmask).
範例
typescript
// Collide with everything except other players
mask: ~CollisionCategory.PLAYER & 0xFFFF