unreal 5기

251105 언리얼엔진 본캠프 60일차 Actor와 Pawn, Character

parkjinnam 2025. 11. 5. 20:55

Actor, Pawn, Character

언리얼엔진 프로젝트를 진행하면 액터, 폰, 캐릭터 클래스를 자주 만지게 될 것이다. 모두 월드 내에 배치가 가능한 오브젝트이며 다양한 역할을 부여해서 게임을 만들게 된다. 근데 저 셋의 차이점은 뭘까? 제대로 알아야 사용도 제대로 하는 법 오늘은 저 세 개의 클래스를 비교해보려 한다.

 

Actor

Actor는 언리얼 엔진 월드에 배치할 수 있는 모든 오브젝트의 기본 단위이다. 즉 월드에 존재할 수 있다면 Actor이거나 상속받은것이라 할 수 있다. 월드 내의 위치, 회전, 크기를 의미하는 트랜스폼(Transform)을 갖고 있으며 게임이 시작될 때(BeginPlay), 매 틱(Tick) 등 게임 이벤트에 반응할 수 있으며 컴포넌트로 다양한 기능을 붙일 수 있다.(이는 지난 시간에 USceneComponent, UActorComponent로 공부한 적 있다.) 하지만 Actor는 플레이어나 AI가 빙의할 수 없으며 복잡한 이동 로직이 내장되어 있지 않다.

 

Pawn

앞서 Actor는 플레이어가 빙의할 수 없다고 했다. 그렇기에 Actor를 상속받아 플레이어가 빙의가 가능하도록 만든 클래스가 Pawn이다. Pawn은 플레이어나 AI가 빙의하여 제어할 수 있는 모든 것의 기본 클래스이다. Actor를 상속받았기에 월드 내의 트랜스폼을 갖고 있으며 PawnMovementComponent를 통해 이동 입력을 받아 움직일 수 있다. 하지만 인간형의 매쉬를 정교하게 움직이는 걷기나 점프 등은 제공되지 않는다.

 

Character

Character는 Pawn클래스를 상속받아 사람이나 동물처럼 이족 보행을 하는 개체에 특화된 Pawn클래스이다.  Pawn을 상속받았기에 Actor와 Pawn의 모든 기능을 갖고 있으며 CharacterMovementComponent를 통해 걷기, 달리기, 점프, 공중제어, 웅크리기와 같은 복잡한 로직이 구현되어 있어 이를 이용하여 이족보행 캐릭터의 움직임을 구현 가능하다. 또한 기본적으로 CapsuleComponent와 SkeletalMeshComponent가 내장되어 있다.