본문 바로가기
유니티 공부/Unity

Unity - Animation.Play vs Animation.CrossFade +) 애니메이션 전환 기법들

by 코딩하는 돼징 2025. 7. 2.
반응형

Animation.Play

즉시 전환 (Immediate Switching)

현재 프레임에서 기존 애니메이션을 완전히 중단

새로운 애니메이션의 첫 번째 프레임부터 시작

메모리에서 이전 애니메이션 상태를 바로 제거

CPU 오버헤드가 최소화됨

 

animation.Play("Run");

 

장점: 정확한 타이밍 제어, 성능 효율적, 메모리 사용량 적음

 

단점: 갑작스러운 포즈 변화로 인한 부자연스러운 움직임

Animation.Play() 적합한 상황

UI 애니메이션 (버튼 클릭, 메뉴 전환)

즉각적인 반응이 필요한 액션 (총 발사, 점프 시작)

성능이 중요한 모바일 게임

애니메이션 간 연관성이 낮은 경우


Animation.CrossFade

 

블렌딩 기반 전환 (Blending-based Transition)

두 애니메이션을 동시에 재생하면서 가중치(Weight)를 조절

시간에 따라 이전 애니메이션의 가중치는 감소, 새 애니메이션의 가중치는 증가

보간(Interpolation)을 통해 부드러운 전환 효과 생성

 

animation.CrossFade("Walk", 0.2f);

장점 : 자연스럽고 부드러운 전환

단점 : 약간의 CPU 오버헤드, 타이밍 제어는 Play보다 느슨함

Animation.CrossFade() 적합한 상황

캐릭터 이동 상태 전환 (걷기 ↔ 뛰기)

감정 표현 애니메이션 (웃음 → 슬픔)

시네마틱 시퀀스

시각적 품질이 중요한 PC/콘솔 게임


다른 애니메이션 전환 기법들

01 Animation.Stop()

animation.Stop();           // 모든 애니메이션 중단
animation.Play("NewAnim");  // 새 애니메이션 재생

 

02 Animation.Rewind()

animation.Rewind("Jump");   // 애니메이션을 처음으로 되돌림
animation.Play("Jump");     // 처음부터 재생

 

03 PlayMode를 이용한 세밀한 제어

// 현재 시간을 유지하면서 전환
animation.Play("Walk", PlayMode.StopSameLayer);

// 큐에 애니메이션 추가 (현재 애니메이션 완료 후 재생)
animation.PlayQueued("Attack", QueueMode.CompleteOthers);

 

 

 

 

반응형

댓글