언리얼 엔진 클래스 구조

용어부터 살펴보자. 언리얼 에디터의 OutLiner 와 연관이 깊다.


Server

RunServer

서버를 구동한다는 것은 월드부터 초기화하여 생성하는 작업을 한다.

GameMode

게임 연출시키는 의미이다.
게임 모드는 월드의 Authority 서버가 입장한다. 게임의 규칙(Rule)과 연출을 준비한다. 서바이벌 또는 화물을 미는 것인지 자기장을 생성하는지 그러한 규칙들을 관리한다.

GameState

게임의 대시보드이다.
게임의 상태를 어떻게 표현할지 가리킨다. 플레이어 목록이거나 진행중인 플레이어들 어떤 플레이어들이 몇킬, 죽은횟수, 어시스트 수치로 표현하였고 경과시간은 어떻게되는지에 대한 것이다. 비슷한 용어로 플레이어 스테이트가 있으며 플레이어와 종속되어있는 값이다.

Player Join

선수 참여하기.
플레이어가 서버에 참여한 것이다. 플레이어는 온라인으로 서버에게 원격 접속하여 매칭 되어 상대하게 된다.

Player Controller

조종하기.
컨트롤러는 일종의 키보드, 마우스, 조이스틱으로 게임의 캐릭터를 조종한다.
캐릭터는 사용자 입력을 받는 것도 있지만,
네트워크 커넥션 용도가 추가되어 클라이언트와 통신할 때도 이 플레이어 컨트롤러를 이용이 필요하다. 참고로 언리얼은 "플레이어" 클래스와, "플레이어컨트롤러" 클래스 서로 알고 있는 순환구조로 되어있다.

Pawn

플레이어가 조종하는 아바타.
플레이어가 조종하는 캐릭터를 Pawn이라 한다.

Possess

플레이어 Pawn 에게 빙의하기
서버는 Pawn 에게 빙의시켜 플레이어 컨트롤러로 조종하게 해준다.
클라이언트는 Possess 용어 대신 Local Player로 사용한다.

Local Player

클라는 원격에 위치한 지역의 플레이어를 가리킨다. 플레이어은 서버와 연결되어 입력한 행동들은 네트워크를 통해 서버로 전달된다. 전달 받은 서버는 입력 받은 행동대로 Pawn를 조종한다.

Local Player - Dedicated

서버는 어떤 플레이어의 Pawn이 이렇게 행동하였다고 클라이언트들에게 정보를 복제하여 전달한다. 복제되는 정보는 GameMode 제외한 Possess, Pawn, Player Controller 정보이다.

LocalPlayer - Listen Server

한 클라이언트가 서버 역할을 겸직하게 된다.