기본적인 게임플레이 클래스에는 플레이어, 아군, 적군에 대한 표현 및 그에 대한 아바타를 플레이어 입력이나 AI 로직으로 제어하는 데 대한 함수성이 포함되어 있습니다. 또한 플레이어용 카메라나 HUD 생성을 위한 클래스도 있습니다. 마지막으로 GameMode, GameState, PlayerState 같은 게임플레이 클래스로 게임의 규칙을 설정하며, 게임 및 플레이어의 진행상황을 기록하기도 합니다.
이 클래스 모두 레벨에 배치하거나 필요할 때 스폰시킬 수 있는 액터 유형을 생성합니다.
월드에 플레이어, 아군, 적군 표시
클래스 | 설명 |
---|---|
Pawn | 폰이란 월드의 대리인 역할을 하는 Actor 입니다. Pawn 은 Controller 에 의해 possess(빙의) 가능하며, 입력을 쉽게 받을 수 있도록 구성 가능하고, 여러가지 다양한 플레이어같은 동작을 할 수 있습니다. 참고로 Pawn 은 인간형이라 가정되지 않습니다. |
Character | A 게임플레이 프레임워크 인간형 Pawn 입니다. 기본적으로 콜리전에 쓸 CapsuleComponent 와 CharacterMovementComponent 가 들어있습니다. 기본적인 인간형 동작을 할 수 있으며, 네트워크를 통해 부드러운 이동 리플리케이션이 가능하고, 애니메이션 관련 함수성도 약간 있습니다. |
플레이어 입력 또는 AI 로직으로 폰 제어하기
클래스 | 설명 |
---|---|
Controller | 컨트롤러는 Pawn 에 대한 지시를 담당하는 Actor 입니다. 보통 두 가지 형태로 등장하는데, AIController 와 PlayerController 입니다. 컨트롤러는 Pawn 에 "possess"(빙의)되어 그 폰을 제어할 수 있습니다. |
PlayerController | A 플레이어 컨트롤러는 Pawn 과 그것을 제어하는 사람 플레이어를 잇는 인터페이스입니다. PlayerController는 본질적으로 사람 플레이어의 의지를 나타냅니다. |
AIController | AIController는 말 그대로 Pawn 을 제어하는 의지를 시뮬레이션으로 재현한 것입니다. |
플레이어에게 정보 표시하기
클래스 | 설명 |
---|---|
HUD | HUD는 "Heads-Up Display" 의 준말이며, 여러 게임에서 볼 수 있는 머리 위에 뜨는 화면 표시기같은 것으로, 생명력, 탄환 수, 총 조준선 등이 표시됩니다. 각 PlayerController 에는 보통 이와 같은 것이 하나씩 있습니다. |
Camera | PlayerCameraManager 는 플레이어의 "눈"을 나타내며, 그 동작을 관리합니다. 각 PlayerController 에는 보통 하나씩 있습니다. 자세한 내용은 카메라 페이지를 참조하세요. |
게임의 규칙 설정 및 기록하기
클래스 | 설명 |
---|---|
GameMode | "게임" 개념은 두 개의 클래스로 나뉩니다. 게임 모드와 게임 스테이트는 게임의 규칙이나 승리 조건같은 것이 포함된 게임의 정의로, 서버에만 존재합니다. 보통은 플레이 도중 바뀌는 데이터는 많이 없어야 하며, 클라이언트에서 알아야 하는 트랜션트(휘발성) 데이터는 반드시 없어야 할 것입니다. |
GameState | GameState에는 접속된 플레이어 목록, 점수, 체크 게임에서 말들의 위치, 오픈 월드 게임에서 완료한 퀘스트 목록 등과 같은 것이 포함될 수 있는 게임 상태가 포함됩니다. GameState 는 서버와 모든 클라이언트에 존재하며, 최신 상태 유지를 위해 자유롭게 리플리케이트 가능합니다. |
PlayerState | 인간 플레이어 또는 플레이어인 척 하는 봇과 같은 게임 참여자의 상태를 말합니다. 게임의 일부로써 존재하는 플레이어가 아닌 AI 에는 PlayerState 가 없습니다. PlayerState 에 적합한 예제 데이터라면, 플레이어 이름, 점수, MOBA 게임류에서의 대전상대 레벨, CTF 게임에서 플레이어가 현재 깃발을 운반중인지 여부 등입니다. 모든 플레이어에 대한 PlayerState 는 (PlayerController 와는 달리) 모든 머신에 존재하며, 동기화 상태 유지를 위해 자유로이 리플리케이트 가능합니다. |
프레임워크 클래스 관계
이 흐름도는 이러한 코어 게임플레이 클래스끼리의 상관 관계를 나타냅니다. 게임은 GameMode 와 GameState 로 이루어집니다. 게임에 참여하는 사람 플레이어는 PlayerController 에 연관됩니다. 이러한 PlayerController 는 플레이어가 레벨 내 물리적 존재를 가질 수 있도록 Pawn 에 빙의됩니다. PlayerController 는 플레이어에게 입력 컨트롤, 헤드업 디스플레이 (HUD), 카메라 시야 처리를 위한 PlayerCameraManager 등을 줄 수 있습니다.

게임플레이 프레임워크 클래스 관련 자세한 내용은 게임플레이 프레임워크 문서를 참고하세요.