Make Unreal REAL.
article thumbnail
이득우의 언리얼 C++ 게임 개발의 정석

 

게임 모드

게임의 규칙을 정하고 게임의 틀을 잡아주는 역할을 한다.
멀티 플레이 게임에서 방장 역할을 하며, 게임에서 중요한 데이터를 인증하는 권한을 가진다.
C++ 게임 모드로 설정하면 World Settings에서 기본 값들을 수정할 수 없게 된다.

 

플레이가 시작되면 게임 모드에 의해 다음과 같은 순서로 설정이 갖춰진다.

  1. 플레이어 컨트롤러 생성
  2. 플레이어 폰 생성
  3. 플레이어 컨트롤러가 폰에 빙의
  4. 게임 시작

 

 

게임 모드, 플레이어 컨트롤러, 폰의 이벤트 함수를 오버라이딩하여 로그를 찍어 확인해본다.

 

게임 모드의 PostLogin 함수를 오버라이딩한다.

  • 플레이어가 게임에 입장하는 것은 Login이라고 한다.
  • PostLogin에서는 폰을 생성하고 컨트롤러가 폰에 빙의하는 작업이 수행된다.
  • PostLogin 함수의 종료는 게임에 입장한 플레이어의 세팅이 완료되었다는 의미이다.

 

 

컨트롤러가 폰에 빙의할 때 OnPossess 이벤트 함수를 호출한다.

 

 

폰이 컨트롤러에 의해 빙의될 때 PossessedBy 함수가 호출된다.

 

 

다음과 같은 순서로 진행됨을 확인했다.

  1. 플레이어 컨트롤러 생성
  2. PostLogin 호출
  3. 폰 생성
  4. 플레이어 컨트롤러가 폰에 빙의
  5. 폰이 컨트롤러에 의해 빙의됨
  6. PostLogin 종료

 

 

게임 모드는 다음과 같이 가져와야함에 주의한다.

  • 게임에서 중요한 데이터를 인증하는 권한을 가진다는 의미이다.
[X] UWorld::GetGameMode()
[O] UWorld::GetAuthGameMode()
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그