← Home/matter

두 개의 철구가 흔들립니다 — 마우스로 잡아서 던지세요

이 실험에 대해

두 개의 철구가 각각 독립적인 Constraint 체인으로 천장에 매달려 있다. 충돌 이벤트에서 속도가 임계값을 넘으면 파티클이 방출된다. 중앙 타워(9단)와 양쪽 보조 더미까지 세 곳을 동시에 공략할 수 있다.

핵심 코드

// 충돌 시 파티클 생성
Events.on(engine, 'collisionStart', (event) => {
  event.pairs.forEach(({ bodyA, bodyB }) => {
    const speed = Math.max(bodyA.speed, bodyB.speed)
    if (speed < 4) return
    for (let i = 0; i < speed * 1.5; i++) {
      particles.push({
        x: impactPos.x, y: impactPos.y,
        vx: cos(angle) * v, vy: sin(angle) * v,
        life: 40,
      })
    }
  })
})