반응형

 

"애니메이션(Animation)과 애니메이터(Animator)"

 

 

개발을 하다보면 캐릭터가 기본 동작뿐 아니라 달리기, 점프 같은 다양한 동작을 자연스럽게 표현해야 할 때가 있다. 

보통은 애니메이션(Animation)을 활용해 동작을 구현하는데,

“기본동작(Idle) → 달리기(Run) → 점프(Jump)”처럼 상태에 따라 동작이 자연스럽게 전환되는 흐름이 필요해진다.

 


처음에는 애니메이션 클립 하나만 재생해도 충분해 보이지만, 

이동/공격/피격/사망처럼 상태가 늘어날수록 전환 규칙블렌딩타이밍 동기화까지 함께 관리해야 한다. 

이때 필요한 것이 바로 애니메이터(Animator)다.

 


이번 글에서는 Unity에서 애니메이션(Animation)애니메이터(Animator)가 각각 어떤 역할을 하는지 정리해볼 예정이다.

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

1) “애니메이션”과 “애니메이터”는 무엇이 다른가?

 

Animation(Clip) = 동작 데이터(Asset)

키프레임 기반의 움직임 데이터(걷기/달리기/점프/공격 등)


“무엇을 어떻게 움직일지”만 들어있고, 언제 전환할지는 스스로 결정하지 않음

 

 


Animator = 재생 엔진(Component)
GameObject에 붙는 컴포넌트

Animator Controller를 기반으로 어떤 클립을 언제 어떤 방식으로 재생할지 실행

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------


2) Animator Controller란?

 

 

Idle/Run/Jump 같은 상태(State) 들과
상태 사이를 바꾸는 전환(Transition) 규칙을 가진 상태머신

 

 

 

파라미터(Parameters) 종류

float : 속도/조준값/피치 같은 연속 값
bool : grounded, isDead 같은 상태 플래그
trigger : Jump, Attack처럼 한 번 발생 이벤트

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

 


3) Blend Tree란?

 

 

하나(또는 여러) 파라미터 값에 따라 여러 애니메이션 클립을 비율로 섞어, 

상태 전환 없이 자연스러운 동작 변화를 만드는 기능

 

 


걷기(Walk)와 달리기(Run)를 상태 전환으로만 처리하면, 특정 경계에서 동작이 뚝 끊기는 느낌이 날 수 있다.
이때 Blend Tree를 사용하면 speed 값에 따라 Walk↔Run이 자연스럽게 섞인다.

 

 

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

 



4) Animation Event란?

 

애니메이션 클립의 특정 시간(프레임)에 함수를 호출해,

사운드·이펙트·게임 로직을 애니메이션 타이밍과 동기화하는 기능

 

 

사용 예시
발이 땅에 닿는 순간: 발소리(SFX)
칼이 휘두르는 순간: 트레일/히트 판정 시작
착지 순간: 먼지 이펙트(VFX)



 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

 


6) 사용시 주의할 점

 


Transition에 Exit Time이 켜져 있어서 즉시 전환이 안 되는 문제
(맞는 조건인데도 늦게 넘어가는 원인이 되는 경우가 많다)

 


Trigger를 남발해서 전환 경로가 꼬이는 문제
(공격/피격/회피가 동시에 들어오면 Any State가 난장판이 될 수 있다)
→ 우선순위/인터럽트(Interrupt) 정책을 정해두는 것이 중요함

 


Root Motion 적용 여부를 모르고 이동이 꼬이는 문제

애니메이션이 캐릭터를 밀고 가는지(Apply Root Motion) 확인
(코드/네비게이션이 이동을 주도하는지를 프로젝트 초기에 결정하는 편이 안전하다)

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

7) 오늘의 한 줄 요약

 

Animation Clip동작 데이터,

Animator Controller전환 규칙(상태머신),

Animator는 그 규칙대로 클립을 재생해 GameObject를 움직이는 플레이어(재생기)이다.

반응형

'1일 1 cs' 카테고리의 다른 글

12. 시간복잡도란?  (0) 2026.01.27
11. GC(Garbage Collector) 란?  (0) 2026.01.26
9. 컬링(Culling)이란?  (0) 2026.01.24
8. 코루틴(Coroutine)이란?  (0) 2026.01.23
7. 대리자(delegate)와 event란?  (0) 2026.01.22

+ Recent posts