바운스 볼 타이밍: 튈 때마다 높이와 프레임을 얼마나 줄이나
바운스 볼 애니메이션을 연습하다 보면 공이 튈 때마다 높이와 프레임을 얼마나 줄여야 하는지에서 막힙니다. 감으로 줄이면 공이 너무 빨리 죽거나 끝없이 튑니다. 자연스러운 감소 비율은 물리 값으로 정해 둘 수 있을까요?
여기서는 세 가지를 짚습니다. 튈 때마다 줄어드는 비율의 계산식, 값을 넣으면 접지 프레임 번호까지 나오는 계산기, 그리고 물리 값에서 애니메이션답게 벗어나는 방법입니다. 마지막에는 내 공의 반발계수 e를 얼마로 잡을지까지 답하겠습니다.
바운스 볼 타이밍은 높이 e², 프레임 e배로 줄어듭니다
공이 바닥에 닿기 직전 속도를 v라 하면 튄 직후 속도는 e×v입니다. 이 e가 반발계수이고, ITF는 반발계수를 튀기 전 수직 속도에 대한 튄 뒤 수직 속도의 비로 정의합니다. 올라가는 높이는 속도의 제곱에 비례하니 높이는 e²배가 됩니다. 올라갔다 내려오는 시간은 속도에 비례하니 체공 프레임은 e배가 됩니다.
튈 때마다 높이는 e²배, 체공 프레임은 e배로 줄이세요.
| 반발계수 e | 높이 비율 (e²) | 체공 프레임 비율 (e) | 1 m 낙하, 24fps에서 1번째 바운스 체공 프레임 |
|---|---|---|---|
| 0.5 | 0.250 | 0.5 | 10.8 |
| 0.6 | 0.360 | 0.6 | 13.0 |
| 0.7 | 0.490 | 0.7 | 15.2 |
| 0.8 | 0.640 | 0.8 | 17.3 |
| 0.9 | 0.810 | 0.9 | 19.5 |
e가 0.7이면 높이는 매번 0.49배, 약 절반으로 줄지만 프레임은 30%만 줄어듭니다. 높이를 정확히 절반으로 줄이는 e는 0.707입니다. 높이는 급하게 줄고 프레임은 천천히 줄기 때문에, 공이 낮게 튀는데도 박자는 한동안 비슷하게 이어집니다.
교재에서 보던 규칙과도 맞춰 보겠습니다. 한 대학 수업 정리 글은 바운스마다 높이를 4분의 1에서 5분의 1쯤 줄이고 프레임은 하나씩 줄이라고 적습니다. 높이가 0.75~0.8배라면 e는 약 0.87~0.89이고, 12프레임짜리 바운스는 다음에 약 10.4~10.7프레임이 됩니다. 규칙이 말하는 한 프레임 감소와 처음 한두 번은 비슷합니다. 그렇다면 뒤쪽 바운스도 같을까요?
물리 값과 튜토리얼 규칙은 뒤쪽 바운스에서 갈라집니다
한 마야 튜토리얼은 바운스 높이를 10, 7, 5, 3, 1로, 프레임을 12, 10, 8, 6, 4로 적습니다. 앞 두 구간의 높이 비율은 0.70과 0.71, 프레임 비율은 0.83과 0.80이라 e가 약 0.84인 공과 거의 같습니다. 그런데 뒤로 가면 높이 비율이 0.60, 0.33으로 떨어지고 프레임 비율도 0.75, 0.67로 내려갑니다.

e를 0.84로 고정하면 5번째 바운스의 높이는 2.5, 프레임은 6.0입니다. 튜토리얼 값은 1과 4입니다. 어느 쪽이 틀렸다는 뜻이 아니라, 공이 얼마나 빨리 멈춘 느낌을 줄지 정하는 선택입니다. e가 매번 같은 모형에서는 튐이 끝없이 이어지지만 전체 시간은 유한합니다. 첫 낙하 시간을 t₀라 하면 모든 튐이 끝나는 시각은 t₀×(1+e)÷(1−e)입니다. 1 m, e=0.75, 24fps라면 약 76프레임 뒤입니다.
바운스 볼 애니메이션 계산기: 높이·반발계수·fps를 넣으세요
아래 도구에서 첫 낙하 높이, 반발계수(또는 공 종류), fps, 바운스 수를 넣으면 바운스별 최고 높이, 체공 프레임, 접지 프레임 번호가 표로 나옵니다. 아래 두 그림은 같은 값으로 공이 실제로 튀는 모습과 높이-시간 그래프를 그립니다. 그래프의 노란 점이 프레임마다의 높이, 곧 스페이싱입니다.
① 값을 넣고 바운스별 프레임 표 만들기
공 종류를 고르면 반발계수 e가 채워집니다. 숫자를 바꾸면 표와 아래 두 그림이 바로 다시 그려집니다.
| 구간 | 최고 높이 | 체공 시간(초) | 체공 프레임 | 정점 프레임 | 접지 프레임 |
|---|
0번 행은 첫 낙하입니다. 체공은 한 번 튀어 올라 다시 바닥에 닿기까지입니다. 모든 값은 e가 매번 같고 공기 저항이 없다는 모형에서 나온 값입니다.
② 공이 실제로 튀는 모습과 높이-시간 그래프
파란 점은 프레임마다 공이 있는 자리입니다. 정점 근처는 점이 촘촘하고 바닥 근처는 벌어집니다. 공 크기와 가로 이동은 보기 위한 값이고, 높이만 입력값에 맞춰 그립니다. 스쿼시·스트레치는 눈에 띄도록 넣은 효과입니다.
계산식은 다음과 같습니다. 중력 g는 씬 단위가 m이면 9.80665, cm이면 980.665를 씁니다. 첫 낙하 시간은 t₀ = √(2H÷g)입니다. k번째 바운스의 최고 높이는 H×e^(2k), 체공 시간은 2×t₀×e^k입니다. 접지 시각을 차례로 더한 뒤 fps를 곱하고 시작 프레임을 더하면 접지 프레임입니다. 씬 단위가 cm인지 m인지에 따라 값이 달라지는 이유는 후디니·마야 씬 스케일 확인 글에 정리했습니다.
이 계산에는 크기감의 근거도 있습니다. Alejandro Garcia의 SIGGRAPH 강의 노트는 24fps에서 낙하 거리가 프레임 수 제곱의 3분의 1인치라고 적습니다. 1 m 낙하는 약 10.8프레임이고 (1/3)×10.8²는 약 39인치, 곧 약 1 m라서 계산기와 맞습니다. 같은 노트는 타이밍이 20%만 어긋나도 6피트 캐릭터가 4피트처럼 보인다고 경고합니다.
- 공 종류를 테니스공으로 고르세요. 높이는 매번 약 0.555배, 프레임은 약 0.745배로 줄어듭니다.
- e를 0.5로 바꿔 보세요. 높이는 4분의 1씩 줄어 바운스 다섯 번이 금방 끝납니다.
- fps를 12로 낮추고 프레임 단위로 끊어 보기를 켜 보세요. 접지가 프레임 사이에 떨어지는 모습이 보입니다.
공 종류별 반발계수는 규격에서 계산한 값만 씁니다
공마다 e를 아는 가장 단순한 방법은 규격의 낙하 높이 H와 반등 높이 h를 쓰는 것입니다. e = √(h÷H)입니다. 공식 규격 문서를 열어 확인한 세 가지만 계산했습니다.
| 공 | 규격 (낙하 → 반등) | 계산한 e | 출처 |
|---|---|---|---|
| 테니스공 (ITF Type 2) | 254 cm → 135~147 cm, 공 바닥 기준 | 0.729~0.761 (중간 0.745) | ITF Technical Booklet 2026 |
| 농구공 (FIBA) | 약 1,800 mm → 1,035~1,085 mm, 공 아래쪽 기준 | 0.758~0.776 (중간 0.767) | FIBA Official Basketball Rules, Equipment (2024년 9월판) |
| 탁구공과 탁구대 | 탁구대 규격: 30 cm → 약 23 cm | 약 0.876 | ITTF Laws 발췌본 (ITTF Statutes 2026) |
탁구는 공이 아니라 탁구대의 규격입니다. 표준 공을 30 cm에서 떨어뜨렸을 때 탁구대가 약 23 cm의 균일한 반등을 내야 한다는 조건이라, 0.876은 탁구공과 탁구대를 합친 값으로 보세요. 테니스 공도 코트 바닥에 따라 반등이 달라집니다. ITF는 바닥을 시험할 때 기준 바닥의 반등 높이와 비교합니다. 모두 단단한 바닥에 수직으로 떨어뜨린 값이라, 푹신한 바닥이나 비스듬한 입사에는 그대로 쓸 수 없습니다.
계산기의 연습용 0.5, 0.7, 0.85는 규격값이 아니라 감을 잡기 위한 값입니다.
여기서 처음 질문에 답할 수 있습니다. 규격으로 계산한 스포츠 공 세 종류의 e는 0.73~0.88에 모입니다. 공 종류가 정해졌으면 규격에서 e를 계산하고, 정해지지 않았으면 0.73~0.88 안에서 골라 높이는 e², 프레임은 e배로 줄이세요. e를 이보다 낮추면 높이가 급하게 줄어 무거운 공처럼 보이기 쉽습니다.
블렌더와 마야 키 배치 예시: 1 m, e=0.75, 24fps
위 계산기에 첫 낙하 1 m, e=0.75, 24fps, 시작 프레임 1을 넣고 바운스 4번까지 뽑은 값입니다. 프레임은 반올림했습니다. 정점과 접지 모두 반올림 오차가 0.5프레임 안쪽입니다. 높이 열은 Y축 위치이고, 씬 단위가 cm인 마야는 cm 열을 쓰세요.
| 프레임 | 높이 (m) | 높이 (cm) | 키의 역할 |
|---|---|---|---|
| 1 | 1.000 | 100 | 낙하 시작, 첫 정점 |
| 12 | 0 | 0 | 첫 접지 |
| 16 | 0.422 | 42.2 | 올라가는 중간(선택) |
| 20 | 0.563 | 56.3 | 1번째 바운스 정점 |
| 24 | 0.422 | 42.2 | 내려오는 중간(선택) |
| 28 | 0 | 0 | 2번째 접지 |
| 34 | 0.316 | 31.6 | 2번째 바운스 정점 |
| 40 | 0 | 0 | 3번째 접지 |
| 45 | 0.178 | 17.8 | 3번째 바운스 정점 |
| 49 | 0 | 0 | 4번째 접지 |
| 53 | 0.100 | 10.0 | 4번째 바운스 정점 |
| 56 | 0 | 0 | 5번째 접지 |
선택 행의 0.422 m는 정점에서 접지까지 시간의 절반이 지났을 때 정점보다 높이차의 4분의 1만 내려온 자리입니다. Garcia는 이 규칙을 정점에서 시작하는 간격 1, 3, 5, 7 비율과 함께 소개합니다. 중간 키가 필요할 때 이 위치를 쓰세요.
| 키 종류 | Blender 핸들 | Maya 탄젠트 |
|---|---|---|
| 정점 키 | Auto Clamped | Flat |
| 접지 키 | Vector | Linear |
- 표의 정점·접지 키를 Y 위치에 먼저 찍으세요.
- 정점 키는 평평하게, 접지 키는 뾰족하게 설정하세요. Blender 매뉴얼은 Auto Clamped를 오버슈트를 막는 자동 핸들로, Vector를 키 사이를 직선으로 잇는 자동 핸들로 설명합니다. Maya의 Flat은 탄젠트를 수평(기울기 0)으로 두며, 키 앞(In)과 뒤(Out) 탄젠트 모두에 있는 유형입니다.
- 접지 직전 곡선을 더 가파르게 다듬으세요. 포물선의 접지 기울기는 구간 평균 기울기의 두 배입니다. 첫 바운스는 정점 0.563 m에서 접지까지 8프레임이라 평균 약 0.070 m/프레임이고, 접지 직전은 약 0.141 m/프레임입니다.
- 마지막으로 바운스마다 정점 높이와 체공 프레임이 표대로 줄었는지 Graph Editor 곡선으로 확인하세요.
위 핸들 설정은 Blender 매뉴얼과 Maya 도움말의 설명을 근거로 정리한 값입니다. 내 씬에서 접지 곡선이 둥글게 뭉개지면 접지 키의 탄젠트부터 보세요.
물리대로 만든 뒤 어디까지 과장할지는 스쿼시·스트레치와 크기감으로 정합니다
Garcia는 현실의 충돌에서는 운동량이 순식간에 바뀌어 큰 힘이 걸리고, 애니메이션은 스쿼시·스트레치로 그 변화를 몇 프레임에 퍼뜨려 충격을 부드럽게 한다고 설명합니다. 워싱턴대 강의 자료는 스쿼시는 충격의 힘, 스트레치는 속도를 보여 주며 부피는 일정하게 유지해야 한다고 말합니다. 납작해지면 옆으로 넓어지고 길어지면 가늘어져야 합니다. 한 튜토리얼은 스쿼시·스트레치도 바운스를 거듭할수록 줄이라고 안내합니다.
- 크기감부터 지키세요. 공이 커 보이게 하려면 낙하 프레임이 길어야 합니다. 첫 낙하 프레임은 계산기가 준 값에서 시작하세요.
- 높이만 과장하고 싶다면 프레임도 같이 늘리세요. 높이를 k배로 키우면 시간은 √k배입니다. 높이 1.44배는 프레임 1.2배입니다.
- 스쿼시는 접지 프레임 부근에, 스트레치는 속도가 빠른 접지 직전·직후에 넣고 바운스마다 줄이세요. 이 글의 계산기는 접지 전후 약 1.5프레임에 스쿼시를 넣는데, 이는 보여 주려고 정한 값이지 출처가 있는 표준이 아닙니다.
- 튐이 끝나는 느낌을 정하세요. e를 고정하면 자연스럽게 길게 이어지고, 튜토리얼처럼 뒤쪽을 빨리 줄이면 공이 일찍 멈춘 느낌이 납니다.
한 줄 정리
바운스 볼 타이밍은 튈 때마다 높이 e², 프레임 e배로 줄이고, 과장은 그 값에서 얼마나 벗어났는지 알고 하세요.
참고 자료
vfx 잡학지식

댓글 0
첫 댓글을 남겨보세요.