1. 문제 발생
Idle 애니메이션을 제작하던 중, 루프 재생 시 프레임이 끊기는 듯한 현상이 발생했다.
오브젝트의 Y값을 조절하여 위 아래로 살랑 살랑 흔들리는 12프레임 애니메이션을 만들었는데,
시작(0프레임) 프레임과 끝(12프레임) 프레임의 y축이 같아서 루프 재생 시 1프레임이 멈춰있는 것처럼 보였다.
0프레임 y=0
3프레임 y=1
6프레임 y=0
9프레임 y=-1
12프레임 y=0 ← 다시 0프레임으로 이어질 때 정지된 듯한 느낌 발생
2. 다양한 시도
- 애니메이션을 11프레임으로 만들기
- 마지막 프레임이 0프레임과 이어지지 않게 하려는 의도였지만, 여전히 같은 위치이기 떄문에 동일한 문제 발생
- 마지막 프레임 값을 원점과 다르게 조정
- 마지막 프레임을 0이 아닌 -0.7 정도로 맞춰서 원점으로 넘어갈때 프레임이 멈추지 않게 시도
- 그러나 0.3정도의 거리를 툭 건너 뛰어 버리기 때문에 처음부터 더욱 부자연스러운 애니메이션이 되어버림
- 마지막 프레임을 그대로두고 애니메이션 프레임 확장하기
- 오히려 원점에 더 오래 머무르는 효과가 생겨 루프가 더 어색해짐
3. 문제 해결
Animation 창의 Curves 탭을 이용하여 문제를 해결헀다.

Curves는 애니메이션을 그래프로 확인하고 조절할 수 있는데 몇가지 추가 기능이 있다.
조절하고 싶은 옵션, 즉 Position의 y값의 그래프를 우클릭하면 옵션을 선택할 수 있는데,

Clamped Auto -> Auto로 변경해 주면 해결 가능하다.
Auto로 변경하면 마지막 프레임과 시작 프레임 사이의 연결을 부드럽게 해주어 루프 시 끊김 없이 자연스럽게 이어진다.
4. 기타 궁금증
그럼 Clamped Auto 옵션은 어떨때 사용할까?
- 애니메이션의 처음과 끝이 연결되지 않아도 되는 경우
예: 걷기, 점프 등의 비루프 동작 - 곡선이 튀거나 지나치게 부드러워지는 것이 문제가 되는 경우
예: 물리적으로 안정적인 움직임이 필요할 때
찾아보니 위 상황처럼 애니메이션이 루프하지 않을때 안정적인 관리에 더 유리하다고 한다.
말 그대로 애니메이션이 급격하게 변하거나 할 때 오버슈팅 되지 않게 Clamp 해 주는 옵션이다.
점프나 충돌 같은 물리 기반 애니메이션에는 Clamped Auto를 사용하여 애니메이션을 관리해보자.
'Unity > 트러블 슈팅' 카테고리의 다른 글
| [Unity] 발사체 반사 방향이 이상하던 문제 (0) | 2025.05.21 |
|---|---|
| [Unity] MonoBehaviour 생성자 오류 (0) | 2025.05.20 |
| [Unity] 타일맵 크기 변경 오류 (0) | 2025.05.16 |
| [Unity] AnyState 전이로 인한 애니메이션 멈춤 현상 분석 (0) | 2025.05.14 |
| [Unity] Sprite가 TileMap에 제대로 안들어 갈 때 (1) | 2025.05.07 |