Pawn, 폰이란 월드 내 플레이어에 대한 물리적 표현입니다.

Windows
MacOS
Linux

pawn_ball.png

Pawn 클래스는 플레이어나 AI 가 제어할 수 있는 모든 액터의 베이스 클래스입니다. Pawn 은 월드 내 플레이어나 AI 개체에 대한 물리적 표현입니다. 이는 플레이어나 AI 개체의 시각적인 모습 뿐만 아니라, 콜리전이나 기타 물리적 반응과 같은 측면에서 월드와의 상호작용 방식도 Pawn 이 규정한다는 뜻입니다. 특정 유형 게임에서는 게임 내에 눈에 보이는 플레이어 메시나 아바타가 없기에 헛갈릴 수가 있습니다. 그와는 무관하게 Pawn 은 여전히 게임 내 플레이어나 개체의 물리적 위치, 방향 등을 나타냅니다. Character (캐릭터)는 걸어다닐 수 있는 능력을 지닌 특수 유형 Pawn 을 말합니다.

기본적으로 Controller 와 Pawn 에는 1:1 대응 관계가 있습니다. 즉 각 컨트롤러는 어느 때고 단 하나의 폰만을 제어합니다. 마찬가지로 게임플레이 도중 스폰된 폰이 자동적으로 컨트롤러에 빙의(possess)되지는 않습니다.

블루프린트에서, 폰 파생 클래스에 동작을 추가하는 가장 좋은 방법은 SetActorLocation 입니다. 이를 통해 해당 위치로 순간이동시킬지, 아니면 sweep 시킬지를 결정할 수 있습니다. sweep 이란 폰을 해당 방향으로 이동시키다가 무언가에 걸리면 멈추게 하는 것을 말합니다.

디폴트 폰

Pawn 클래스가 월드의 플레이어나 AI 개체의 물리적 표현을 만드는 데 있어 꼭 필요한 것만 제공해 주는 반면, DefaultPawn 서브클래스에는 추가적인 컴포넌트와 함수성이 딸려 옵니다.

DefaultPawn 클래스에는 네이티브 DefaultPawnMovementComponent, 구체형 CollisionComponent, StaticMeshComponent 가 들어 있습니다. DefaultPawnMovementComponent 와 카메라 제어는 물론 기본 이동 바인딩 추가를 위한 부울 역시 DefaultPawn 클래스에 존재하며, 기본값은 True 로 설정되어 있습니다.

DefaultPawnMovementComponent

DefaultPawnMovementComponent 에 대한 기본 이동 스타일은 무중력 비행으로 설정되어 있습니다. 보통의 MovementComponent 변수 외에 MaxSpeed, Acceleration, Deceleration 플로트 값이 포함되어 있습니다. 이 세 가지 변수는 DefaultPawn 파생 블루프린트에서도 접근 가능합니다.

관람자 폰

SpectatorPawn 클래스는 DefaultPawn 의 서브클래스입니다. GameMode 를 통해 Pawn 과 SpectatorPawn 에 대해 다양한 클래스를 기본으로 지정할 수 있으며, 이 클래스는 관람에 이상적인 단순한 프레임워크를 제공합니다. DefaultPawn 과 마찬가지로 구체형 CollisionComponent 가 있긴 하나 .DoNotCreateDefaultSubobject(Super::MeshComponentName) 구현때문에 StaticMeshComponent 는 생성되지 않습니다. SpectatorPawn 클래스에 대한 이동은 SpectatorPawnMovementComponent 에서 처리되며, 무중력 비행 동작은 DefaultPawnMovementComponent 에서와 마찬가지이고, 여기에 필요에 따라 시간 지연을 처리하거나 무시할 수 있는 코드가 추가되어 있습니다.

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼