Unity/기능

[Unity] Animator의 CrossFade

turbulence93 2025. 7. 11. 21:53

Animator.CrossFade는 현재 재생 중인 애니메이션에서 다른 애니메이션으로 부드럽게 전환(fade) 시켜주는 메서드이다.
전환 중 기존 애니메이션이 완전히 끊기지 않고, 지정한 시간 동안 점진적으로 새로운 애니메이션으로 넘어간다.


사용 예시

animator.CrossFade("Attack", 0.25f);
  • "Attack" 애니메이션으로 0.25초에 걸쳐 부드럽게 전환
  • 현재 애니메이션 상태를 강제로 덮지 않고 자연스럽게 이어짐

주요 특징

  • 트랜지션 없이도 부드러운 상태 전환 구현 가능
  • 재생 중인 상태와 겹쳐도 자연스럽게 이어짐
  • 애니메이션 겹침 구간이 필요한 공격/이동 연계에 유용

주의할 점

  • CrossFade는 스테이트 이름 또는 해시값 기준으로 전환함
  • 트랜지션 조건을 설정한 AnimatorController보다 직접적인 제어가 필요한 경우에 사용

개인 생각

기존에는 SetTrigger + 트랜지션으로 애니메이션 전환을 처리했지만,
즉시 전환이 필요하거나 특정 시점의 페이드가 중요한 스킬 연출에는 CrossFade가 훨씬 유연했다.
특히 스킬 연계, 연속 공격 등의 상황에서 부드러운 전환을 원할 때 유용할 것 같아 사용해볼 예정이다.

'Unity > 기능' 카테고리의 다른 글

[Unity] New Input System 사용하기  (0) 2025.07.15
[Unity] New Input System  (0) 2025.07.14
[Unity] 오브젝트 풀링 구현하기  (1) 2025.07.08
[Unity] 제네릭 메서드  (0) 2025.07.07
[Unity] OverlapBox 와 OverlapBoxNonAlloc  (0) 2025.07.03