같은 거리를 움직이더라도 그림을 4장만 써서 넘어가면 가볍고 재빠르게 느껴지고, 14장을 촘촘히 써서 넘어가면 무겁고 느긋하게 느껴집니다. 이게 "타이밍(장수·소요 시간)"과 "스페이싱(장 사이 간격)"입니다 — 둘은 항상 같이 움직입니다.
애니메이터는 이걸 "스페이싱 차트"로 미리 그려봅니다. 같은 화면에 여러 시점의 위치를 점으로 찍어보면, 점 간격만 보고도 그 동작이 통통 튀는 쥐인지 육중한 코끼리인지 짐작할 수 있습니다.
CSS로는 animation-timing-function: steps(n)이 이 개념을 그대로 구현합니다 — n이 작을수록 큼직한 도약(가볍고 빠른 느낌), n이 클수록 촘촘한 걸음(무겁고 부드러운 느낌)이 됩니다.
데모 위쪽은 4단계로 건너뛰는 공 — 점 간격이 넓어 가볍게 톡톡 튀는 인상을 줍니다. 아래쪽은 14단계로 건너뛰는 공 — 점 간격이 촘촘해 묵직하고 부드럽게 미끄러지는 인상을 줍니다. 둘 다 같은 거리를 같은 시간에 이동합니다.
언제 쓰나
캐릭터·마스코트에 성격을 부여하고 싶을 때 스텝 수를 바꿔보세요. 일반 UI 전환에는 보통 부드러운 이징이 더 적절하고, steps()는 의도적으로 '무게'나 '기계적임'을 표현할 때만 씁니다.