1. Pawn 이란?
Pawn
이란, 월드 내 플레이어에 대한 물리적 표현이다.Pawn
클래스는 플레이어나 AI가 제어할 수 있는 모든 액터의 베이스 클래스- 플레이어나 AI 개체의 시각적인 모습 뿐만 아니라 콜리전이나 기타 물리적 반응 같은 측면에서 월드와의 상호작용 방식도
Pawn
이 규정한다는 뜻 - 특정 유형 게임에선 게임 내에 눈에 보이는
플레이어 메시
나아바타
가 없기에 헷갈릴 수 있으나
그와 무관하게Pawn
은 여전히 게임 내플레이어
나개체
의물리적인 위치
,방향
등을 나타낸다.
2. Default Pawn
Pawn
클래스가 월드의 플레이어나 AI 개체의 물리적 표현을 만드는 데 있어 필요한 것만 제공해 주는 반면
DefaultPawn
서브클래스에는 추가적인컴포넌트
와함수성
이 딸려 온다.- ‘DefaultPawn` 클래스에는 아래 내용이 포함되어 있다.
- 네이티브
DefaultPawnMovementComponent
- 구체형
CollisionComponent
,StaticMeshComponent
- 카메라 제어
- 기본 이동 바인딩 추가를 위한 bool (기본값 true)
- 네이티브
- ‘DefaultPawn` 클래스에는 아래 내용이 포함되어 있다.
DefaultPawnMovementComponent
DefaultPawnMovementComponent
에 대한 기본 이동 스타일은무중력 비행
으로 설정되어 있다.- 보통의
MovementComponent
변수 외에MaxSpeed
,Acceleration
,Deceleration
값(float)이 포함되어 있다.MaxSpeed
,Acceleration
,Deceleration
는DefaultPawn
파생 블루프린트
에서도 접근이 가능하다.
SpectatorPawn
SpectatorPawn
클래스는DefaultPawn
의 서브클래스이다.GameMode
를 통해Pawn
과SpectatorPawn
에 대해 다양한 클래스를 기본으로 지정할 수 있다.Spectator
(관람)에 이상적인 단순한 프레임워크를 제공DefaultPawn
과 마찬가지로CollisionComponent
가 있으나,DoNotCreateDefaultSubobject(Super::MeshComponentName)
구현 때문에StaticMeshComponent
는 생성되지 않는다.SpectatorPawn
클래스에 대한 이동은SpectatorPawnMovementComponent
에서 처리되며,
무중력 비행 동작
은DefaultPawnMovementComponent
에서와 마찬가지이고, 필요에 따라 시간 지연을 처리하거나 무시할 수 있는 코드가 추가되어 있다