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

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback