🎮Unreal4/Blueprint

[UE4] Game Mode Base (Blueprint Class)

공대 컴린이 2023. 1. 26. 23:58
728x90

🔀 블루프린트 클래스 - Game Mode Base

Game Mode Base 클래스는 쉽게말해 게임을 관리해주는 클래스이다.

플레이어 수, 게임에 참가하는 방식 등 기본적인 요소들은 여러 유형의 게임에 공통이지만, 어떤 게임을 개발하는지에 따라 무한대의 규칙 변종이 가능하다. 그런 규칙이 무엇이든, 그 정의와 구현은 "게임모드"에 한다. 즉, 게임 전체를 관할해주는 클래스라고 보면된다. 예를들어, 플레이어 모드일땐 Play Game Mode를 열고, 관전모드일땐 관전 Game Mode를 열면 된다.

 

Blueprint Class Create

언리얼4에 새롭게 도입된 AGameModeBase는 모든 게임모드의 부모클래스가 되었다.

게임모드는 한번에 하나의 게임모드만 사용할 수 있다. 또한 게임모드는 서버에만 존재하므로, 로컬 클라이언트는 원본 게임모드 클래스를 볼 수 있지만 실제 인스턴스에 접근하여 변수를 확인하거나 게임 도중 무엇이 변경되었는지는 확인할 수 없다.

 

Game Mode Base Class - Classes

  • Game Session Class : 로그인 승인 및 온라인 게임 인터페이스를 처리하여  게임내 대화명, 캐릭터 정보, 레벨, 아이템 등 플레이어를 식별할 수 있는 정보를 관할하는 클래스
  • Game State Class : 게임 상태 (일시정지, 일시적으로 느리게 진행 등)
  • Player Controller Class : 플레이어 로그인 시 스폰해야 하는 플레이어 컨트롤러의 클래스
  • Player State Class : 플레이어 상태 관리 (ex. 스턴 당했는지?), 모든 플레이어에게 관련 플레이어 정보를 *리플리케이트하기 위해 모든 플레이어와 연결된다.
  • HUD Class : UI를 관할하는 클래스
  • Default Pawn Class : Pawn부터 Controller가 붙기 때문에 Pawn이 Player가 될 수 있다. 입력 받을 기본 클래스를 지정하는 클래스
  • Spectator Class : 관중모드를 구현할 때 사용하는 클래스, 플레이어가 관중 상태일 때 사용하는 폰 클래스
  • Replay Spectator Player Controller Class : 리플레이모드 구현할 때 사용하는 클래스, 네트워크 리플레이를 볼 때 사용되는 클래스
  • Server Start Replicator Class : 서버와 통신하는 클래스

* 리플리케이트: 서버와 클라이언트 사이에서 데이터와 명령을 주고받는 프로세스

 

Game Mode Base를 생성하여 Classes 설정들을 모두 완료하고 나면, 프로젝트 세팅 - 맵 & 모드 - 기본 게임모드에 만들어진 Game Mode Base를 설정해둘 수 있다.

설정이 끝난 후 게임을 실행시키면 맵에 존재하던 Player Start 지점에 설정해둔 Default Player가 배치되는것을 볼 수 있다.


참조

https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Framework/GameMode/

 

게임 모드와 게임 스테이트

Game Mode, 게임 모드와 Game State, 게임 스테이트에 대한 개요입니다.

docs.unrealengine.com

728x90