구슬이 경사로를 따라 굴러내립니다 — 구슬 0개
이 실험에 대해
5개의 경사 ramp와 4개의 탄성 bumper로 지그재그 트랙을 구성했다. 매 40프레임마다 새 구슬이 상단에서 떨어지고, 최대 40개를 유지한다. 경사 각도와 마찰을 조합해 구슬이 자연스럽게 흘러내리면서도 좌우로 튀도록 설계했다.
핵심 코드
// 경사로: 각도를 라디안으로 변환
Bodies.rectangle(x, y, length, 10, {
isStatic: true,
friction: 0.3,
restitution: 0.15,
angle: (angleDeg * Math.PI) / 180,
})
// 탄성 bumper
Bodies.circle(x, y, 12, {
isStatic: true,
restitution: 0.7, // 높은 반발
friction: 0.1,
})
// 주기적 구슬 생성
if (frame % SPAWN_INTERVAL === 0) spawnMarble()