GameInstance : 게임 시작부터 종료할때까지 지속적으로 단 1개만 존재, 어디에서나 공유 가능하다.

- 어떤 클라이언트나 접근이 가능

- 모든 클라이언트에게 필요한 정보를 저장 및 제공할 때 사용

GameMode : 레벨이 로드되면서부터 게임 종료시까지 단 1개만 존재

- 게임 룰 : 참여 인원수, 최고점수, 게임 시작 또는 종료 조건

- 서버측 코드에서만 접근가능하다.

GameState : GameMode가 인스턴스 생성, 1개만 존재

- 서버, 클라이언트 측에서 접근가능

- 클라이언트에게 서버측 정보를 전달할 때 사용

- 전체 플레이어수, 전체 PlayerState 정보에 접근가능


게임 메뉴맵 -> 로비 맵 -> 게임맵 / 맵들이 로드 될 때마다 각각의 GameMode가 실행된다.


PlayerController : 플레이어 입력을 통해 캐릭터을 조종할 수 있도록한다.

- 서버측에서는 모든 PC에 접근 가능

- 클라이언트 측에서는 현재 캐릭턱의 PC만 접근가능

PlayerState : 한 플레이어의 게임 상태정보를 가지고 있다.

- 모든 클라이언트가 다른 PlayerState에 접근할 때 사용

- 현재 PlayerState의 주인이 아니면 데이터 갱신 불가

- PlayerController의 단점을 극복할 수 있다. 어디서나 접근 가능하니까

Pawn : 플레이어를 대신할 액터(액터,폰,개릭터)

- 서버측에서는 모든 Pawn에 접근할 수 있다. 


1. 플레이어가 로그인을 하면 본인이 게임을 진행 할 로비를 만들것인지 참여할것인지 선택한다.

< GameInstance 클레스 1. 로비 만들기, 2. 로비 찾기, 3. 로비 연결>


2. 로비 게임 모드(LobbyGameMode)


3. 게임이 진행되는 ArenaGameMode


'언리얼4 > 웹서버 연동 멀티 FPS 게임(로비 기능)' 카테고리의 다른 글

6. Widgets  (0) 2019.02.28
5. PlayerCharacter  (0) 2019.02.28
4. PlayerController  (0) 2019.02.28
2. 웹서버(DB) 연동 방법 JSON  (0) 2019.02.28
1. 웹서버(PHP, DB)  (0) 2019.02.28

1. 언리얼 에디터에서는 JSON을 직접 지원하지 않으므로 마켓플레이스에서 VaRest 플러그인을 다운받아야 쉽게 사용할수 있다. 

<VaRest 플러그인 설정>


2. 언리얼 에디터에서 json으로 로그인 하기위해 로그인 기능을 가진 CPP Actor 플루프린트를 만든다.  만든 CPP Actor에 로그인 기능을 가진 함수를 만들기 위해 아래와 같은 설정을 해주어야 한다.

참고자료 : https://wiki.unrealengine.com/UE4.10_How_To_Make_HTTP_GET_Request_in_C%2B%2B



3. 위와 같이 설정했으면 잘 되는지 검사


 해보자.


웹 서버는 미국에 서버를 두고 있는 AWARDSPACE 라는 웹서버를 사용하였다. 

주소 :  https://www.awardspace.com/


1. 언리얼 에디터에서 웹서버 PHP로 아이디와 패스워드를 전달하면 PHP에서 DB에 있는 플레이어 정보를 가져와 비교하여 로그인 여부를 확인한다.


< DB 플레이어 로그인 PHP >


2. 언리얼 에디터상의 게임이 종료되면 언리얼에 저장된 변수(정보)들이 웹서버 PHP로 전달되고 DB에 저장된다.


< DB 플레이어 정보 저장 PHP >


3. DB 플레이어 목록에는 3명이 입력된 상태이다.(3명 로그인)

< DB 플레이어 명단 >

<Player 헤더 파일>


<Player 소스 파일>


'c++ > 플레이어 정보 관리시스템' 카테고리의 다른 글

DAO 헤더,CPP  (0) 2019.02.26
관리 헤더,CPP  (0) 2019.02.26
사용자 뷰  (0) 2019.02.26
텍스트에서 플레이어 정보 읽어오기  (0) 2019.02.26

<DAO 헤더 파일>



<DAO 소스파일>


'c++ > 플레이어 정보 관리시스템' 카테고리의 다른 글

플레이어 정보 헤더,CPP  (0) 2019.02.26
관리 헤더,CPP  (0) 2019.02.26
사용자 뷰  (0) 2019.02.26
텍스트에서 플레이어 정보 읽어오기  (0) 2019.02.26


<Mgr 헤더 파일>


<Mgr 소스 파일>

'c++ > 플레이어 정보 관리시스템' 카테고리의 다른 글

플레이어 정보 헤더,CPP  (0) 2019.02.26
DAO 헤더,CPP  (0) 2019.02.26
사용자 뷰  (0) 2019.02.26
텍스트에서 플레이어 정보 읽어오기  (0) 2019.02.26

+ Recent posts