개발자 면접 공부/언리얼 엔진

언리얼 엔진 Actor, Pawn, Character 차이

chogyujin 2025. 11. 26. 15:15
728x90

1. 개요

오늘은 Actor, Pawn, Character 에 차이를 알아보겠습니다.


2. Actor

 

월드에 배치할 수 있는 가장 기본적인 깡통입니다.

  • 핵심: Transform (위치, 회전, 크기)이 있습니다.
  • 능력: 그냥 그 자리에 있거나, 블루프린트로 움직이게 할 수는 있지만 '플레이어의 영혼(Controller)'이 들어갈 수 없습니다.
  • 구조: 텅 비어 있습니다. (필요하면 Static Mesh 등을 직접 추가해야 함)
  • 용도: 무기, 아이템, 문, 배경 건물, 탄환.

3. Pawn

 

액터에 '조종 기능'이 추가된 형태입니다.

  • 진화: Actor를 상속받았습니다.
  • 핵심: Possess (빙의) 기능이 생깁니다. 플레이어(키보드/마우스)나 AI가 접속해서 명령을 내릴 수 있습니다.
  • 움직임: "움직일 수 있는 권한"은 있지만, "어떻게 움직이는지"는 모릅니다.
    • 비유: 엔진과 바퀴는 있는데 엑셀과 핸들이 연결 안 된 자동차입니다. "W키를 누르면 앞으로 가라"는 물리학 코드를 직접 짜야 합니다.
  • 구조: 여전히 텅 비어 있습니다. (Collision이나 Mesh를 내 맘대로 구성 가능)
  • 용도: 드론, 탱크, 비행기, CCTV 카메라 (사람이 아닌 움직임)

4. Character

폰에 '인간형 움직임 + 신체 구조'가 미리 조립된 완성품입니다.

  • 진화: Pawn을 상속받았습니다.
  • 핵심: 개발자가 코딩하기 가장 힘든 **"이족 보행 물리"**와 **"애니메이션 연동"**이 이미 다 되어 있습니다.
  • 3대 필수 요소 (자동 포함):
    1. CapsuleComponent (충돌): 사람 모양의 길쭉한 원기둥 충돌체가 루트(Root)로 박혀 있습니다.
    2. CharacterMovementComponent (두뇌): 중력, 마찰력, 점프, 수영, 걷기, 네트워킹 동기화가 완벽히 구현된 컴포넌트입니다.
    3. SkeletalMeshComponent (몸체): 애니메이션을 재생할 수 있는 뼈대 있는 메시(Mesh) 공간이 미리 마련되어 있습니다.

5. 요약

구분 액터 (Actor) 폰 (Pawn) 캐릭터 (Character)
상속 관계 최상위 기본 클래스 Actor의 자식 (진화형) Pawn의 자식 (최종 진화형)
핵심 역할 월드에 존재하는 물체 조종(빙의) 가능한 물체 이족 보행하는 생명체
조종 (Possess) 불가능 ❌ 가능 ✅ (Controller 필요) 가능 ✅ (Controller 필요)
이동 (Movement) SetLocation 등으로 직접 이동 입력값은 받지만, 물리 처리(이동 로직)는 직접 구현해야 함 CharacterMovementComponent 내장 (걷기, 점프, 중력 자동 완성)
루트 컴포넌트 자유 (없거나 마음대로 설정) 자유 (Box, Sphere 등 마음대로) CapsuleComponent (알약 모양)로 고정됨
메시 (Mesh) 없음 (직접 추가) 없음 (직접 추가) SkeletalMesh 기본 내장 (애니메이션 최적화)
애니메이션 수동 연결 수동 연결 자동 연동 (점프, 낙하 등 상태값 공유)
주요 사용처 무기, 아이템, 문, 배경 자동차, 비행기, 드론, 카메라 사람, 몬스터, NPC (다리 달린 것)

 

  • Actor: 그냥 세상에 놓여있는 껍데기입니다. (영혼이 못 들어감)
  • Pawn: 영혼(플레이어)이 빙의해서 입력을 받을 수 있는 껍데기입니다. (하지만 움직이는 법은 모름)
  • Character: 걷고, 뛰고, 점프하는 법을 이미 알고 있는 완성된 육체입니다. (캡슐+메시+무브먼트 풀세트)