콘텐츠로 이동

3-1. Actor 개념 설명

Actor를 직접 구현하기 전에, 언리얼 엔진이 게임 월드를 어떤 단위로 나눠서 관리하는지와 클래스 계층이 어떻게 이어지는지를 먼저 이해해야 합니다. 이 페이지에서는 언리얼의 개발 철학, World/Level/Actor/Component 구조, 그리고 Object → Actor → Pawn → Character로 이어지는 상속 관계를 한 번에 정리합니다.

언리얼은 게임 세계를 작은 책임 단위로 분리한 뒤 다시 조립하는 방식을 기본 철학으로 삼습니다. 거대한 오브젝트 하나를 단일 클래스에서 전부 처리하기보다, 역할을 나눠 독립적인 단위로 관리하는 것이 핵심입니다. 이렇게 하면 코드 재사용이 쉬워지고, 문제가 생겼을 때 원인을 찾기도 수월해집니다.

조합 중심 설계

기본 틀은 Actor가 맡고, 세부 기능은 Component를 붙여 확장합니다. 덕분에 같은 기능을 여러 Actor에 손쉽게 재사용할 수 있습니다.

명확한 계층

World → Level → Actor → Component 순서로 책임이 내려가며, 어느 단계에서 어떤 데이터를 다뤄야 하는지 구분이 분명합니다.

데이터와 행동 분리

위치, 회전, 충돌, 렌더링, 입력 처리 같은 역할을 분리하면 디버깅 지점이 명확해지고 유지보수가 쉬워집니다.

확장 가능한 구조

처음에는 단순한 Actor에서 시작하고, 필요할 때 Pawn이나 Character로 확장해도 전체 구조를 그대로 유지할 수 있습니다.

아래 이미지는 World → Level → Actor → Component 계층이 서로 어떻게 포함 관계를 이루는지 보여줍니다. 바깥쪽일수록 더 넓은 범위를 담당하고, 안쪽으로 갈수록 더 작고 구체적인 단위가 됩니다.

World, Level, Actor, Component 포함 관계를 나타낸 계층 구조
언리얼의 기본 계층 구조

언리얼에서 실행 중인 전체 게임 세계를 관리하는 최상위 컨테이너입니다. 모든 Level과 그 안의 Actor는 결국 하나의 World 안에서 동작합니다.

월드 안에 배치된 맵 데이터 단위입니다. 여러 Level이 모여 하나의 플레이 환경을 구성할 수도 있습니다. 보통 우리가 에디터에서 편집하는 “씬”이 바로 이 Level에 해당합니다.

플레이어, 적, 아이템, 문, 카메라 등 레벨 안에 존재하는 대부분의 개체가 Actor입니다.

COMPONENT: Actor를 이루는 기능 조각

섹션 제목: “COMPONENT: Actor를 이루는 기능 조각”

메시, 충돌, 이동, 카메라, 오디오 같은 세부 기능을 Component 단위로 붙여서 하나의 Actor를 완성합니다. Actor가 “그릇”이라면 Component는 그 안을 채우는 “기능 부품”이라고 볼 수 있습니다.

Object, Actor, Pawn, Character 관계와 기능

섹션 제목: “Object, Actor, Pawn, Character 관계와 기능”

아래 이미지를 기준으로 보면, 언리얼의 핵심 클래스들은 Object → Actor → Pawn → Character 순서로 기능이 점점 누적되며 확장됩니다. 즉 하위 클래스는 상위 클래스의 모든 기능을 그대로 물려받은 위에 자신만의 기능을 추가하는 구조입니다.

Object에서 Actor, Pawn, Character로 이어지는 클래스 상속 계층
Object → Actor → Pawn → Character 클래스 계층

OBJECT: UObject, 모든 클래스의 기반

섹션 제목: “OBJECT: UObject, 모든 클래스의 기반”

UObject는 모든 클래스의 부모가 되는 기본 타입입니다. 월드에 직접 배치되지는 않지만, 데이터 자산, 설정, 유틸리티 객체처럼 엔진의 핵심 객체 시스템을 구성하는 토대 역할을 합니다.

ACTOR: AActor, 월드에 배치 가능한 객체

섹션 제목: “ACTOR: AActor, 월드에 배치 가능한 객체”

AActor는 Transform(위치, 회전, 스케일)을 가지며 Level에 직접 배치할 수 있습니다. 메시, 충돌, 오디오, 카메라 등의 Component를 조합해 실제 게임 오브젝트를 구성하는 기본 단위입니다.

APawn은 Controller(플레이어 또는 AI)에 의해 조작될 수 있도록 Actor를 확장한 타입입니다. 다시 말해 “빙의 대상”이라는 역할이 Actor 위에 한 겹 더 추가된 계층입니다.

CHARACTER: ACharacter, 캐릭터 제작에 특화된 Pawn

섹션 제목: “CHARACTER: ACharacter, 캐릭터 제작에 특화된 Pawn”

ACharacter는 사람형 캐릭터 제작에 자주 쓰이는 구성요소를 기본으로 제공하는 Pawn입니다.

  • CapsuleComponent: 캐릭터의 충돌 기준이 되는 캡슐 형태의 충돌체
  • Skeletal Mesh: 본(Bone) 기반으로 캐릭터의 외형을 표현
  • Animation 연동: Anim Blueprint와 결합한 애니메이션 상태 제어
  • CharacterMovementComponent: 걷기, 점프, 낙하 등 이동 로직 처리

다음 카드는 어떤 상황에서 어떤 클래스를 골라야 하는지 실무 기준으로 정리한 것입니다.

데이터 / 매니저 성격

월드에 배치할 필요 없이 데이터나 관리 로직만 담는다면 UObject를 선택합니다.

월드 배치만 필요

단순히 레벨에 놓이는 오브젝트라면 AActor로 충분합니다.

조작 / AI 빙의 대상

플레이어나 AI가 직접 제어하는 대상이라면 APawn을 선택합니다.

사람형 캐릭터

걷고 점프하는 사람형 캐릭터라면 이동과 애니메이션이 준비된 ACharacter가 가장 적합합니다.