캐릭터 시스템에서 캐릭터의 이동과 행동을 제어하는 중심 클래스인 CharacterController에 대해 함께 살펴보겠습니다.

이 클래스는 실제 플레이어나 NPC가 어떻게 움직이고, 어떤 애니메이션을 재생할지를 담당하는 캐릭터 컨트롤의 기본 베이스 클래스입니다.


📚 클래스의 위치

이 클래스는 MonoBehaviour를 상속받으며, 게임 오브젝트에 붙는 컴포넌트 형태로 동작합니다.

다만 중요한 점은 이 클래스가 단독으로 사용되지는 않는다는 것입니다.

CharacterBase를 기반으로 하는 Player, Npc, Monster 캐릭터에 실제로 행동을 부여하기 위해 별도의 컨트롤러 클래스들이 이 클래스를 상속받습니다.

예를 들면 다음과 같습니다:

CharacterController → ControllerPlayer
CharacterController → ControllerNpc

이러한 구조를 통해, 모든 캐릭터가 공통적으로 수행해야 하는 동작은 CharacterController에 정의하고, 각 캐릭터의 고유한 행동은 개별 컨트롤러에서 확장하는 방식으로 구성됩니다.


🧠 주요 역할

그렇다면 이 CharacterController 클래스는 어떤 기능을 제공할까요?

  1. 캐릭터 이동 처리 (Run)
  2. 대기 상태 처리 (Wait)
  3. 공격 상태 처리 (Attack)
  4. 방향 처리 (Flip)
  5. 애니메이션 컨트롤

🔧 핵심 메서드