Skip to content

@ue-too/dynamics / index / CollisionFilter

インターフェイス: CollisionFilter

定義: collision-filter.ts:18

Collision filtering configuration for rigid bodies.

Remarks

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:

  1. (A.category & B.mask) !== 0 - A's category matches B's mask
  2. (B.category & A.mask) !== 0 - B's category matches A's mask
  3. Group rules are satisfied (see group field)

プロパティ

category

category: number

定義: collision-filter.ts:27

What category this body belongs to (bitmask).

typescript
category: CollisionCategory.PLAYER  // 0x0004

group

group: number

定義: collision-filter.ts:55

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: 1

mask

mask: number

定義: collision-filter.ts:38

What categories this body can collide with (bitmask).

typescript
// Collide with everything except other players
mask: ~CollisionCategory.PLAYER & 0xFFFF