Spine 애니메이션을 사용하는 캐릭터의 애니메이션을 제어하는 핵심 클래스, 바로 CharacterAnimationControllerSpine
클래스에 대해 설명드리겠습니다.
이 클래스는 Spine 애니메이션 시스템을 사용하는 Unity 프로젝트에서 캐릭터의 동작을 자연스럽게 구현하기 위한 애니메이션 컨트롤러입니다.
📚 구조와 상속 관계
이 클래스는 Spine2dController
라는 Spine 전용 베이스 클래스를 상속하며, 동시에 ICharacterAnimationController
인터페이스를 구현하고 있습니다.
Spine2dController
└── CharacterAnimationControllerSpine : ICharacterAnimationController
즉, Spine 기반 애니메이션 시스템에 필요한 세부 구현을 제공하면서, 외부에서는 인터페이스 형태로 일관된 방식으로 접근할 수 있게 설계되어 있습니다.
🧠 핵심 역할
이 클래스의 핵심 기능은 다음과 같습니다:
PlayWaitAnimation()
, PlayRunAnimation()
, PlayAttackAnimation()
, PlayDeadAnimation()
등 캐릭터 상태에 맞는 Spine 애니메이션을 재생합니다.attack
, sound
, complete
) 등을 감지하여 실제 게임 로직과 연동합니다.OnSpineEventAttack()
이 호출되어 캐릭터의 실제 공격 로직이 실행됩니다.🔧 주요 메서드 요약
PlayRunAnimation()
, PlayWaitAnimation()
→ 이동 및 대기 상태에 따른 애니메이션 재생
PlayAttackAnimation()
→ 공격 애니메이션 실행 (단일 재생)
OnAnimationComplete()
→ 애니메이션 완료 시 상태를 Idle로 되돌림