언리얼5

[UE5 Multiplayer Shooting-12] UE5 Framework 구조

TIN9 2023. 8. 11.
반응형

GameFramework

클래스별 범위

CLASSES
GameMode GameState PlayerState PlayerController
Server Only Server and all Cients Server and all Clients Server and Owning Client
Pawn HUD/Widgets  
Server and all Clients Owning Client Only

 

클래스별 역할

CLASSES
GameMode GameState PlayerState PlayerController
●Default Classes
     ○Pawn
     ○PlayerController
     ○HUD

●Rules
     ○Player Eliminated
     ○Respawning Players

●Match State
     ●Warmup Time
     ●Match Time



●State of the Game

●Top Scoring Players

●Teams in the Lead

●Team Scores

● Array of Player States






●State of the Player
     ○Score

     ○Defeats

     ○Carried Ammo









●Access to the HUD
     ○Display Messages

     ○Update HUD Health

     ○Update HUD Score

     ○Update HUD Defeats

     ○Update HUD Ammo





 

GameMode

  • 게임의 기본 클래스 설정 (Default Pawn, PlayerController, HUD 등)
  • 게임의 전반적인 규칙과 흐름 제어 (플레이어 리스폰, 이벤트 등)
  • Math State라는 개념을 통해 경기의 다양한 상태 관리

GameState

  • 게임의 현재 상태와 정보를 저장하고 추적
  • 스코어, 시간, 라운드 상태 등 각 팀의 점수 단위를 저장하고 모든 클라이언트와 동기화
  • 게임 플레이 동안의 정보를 관리하므로, 실시간 업데이트 될 수 있다.

 

PlayerState

  • 개별 플레이어의 정보와 상태를 관리
  • 플레이어의 점수, 죽은 횟수, 승점, 패점등을 추적 관리
  • GameState와 달리 개별 플레이어에 초점을 맞춤

 

PlayerController

  • 플레이어의 입력을 받아 캐릭터와 상호 작용
  • Pawn을 조종하고 HUD에 접근가능
  • Message, HUD의 상태 업데이트 등의 함수를 쉽게 배치할 수 있고 로컬 클라이언트의 HUD를 업데이트할 수 있다

 

서버와 클라이언트 구조

서버와 클라이언트 구조 : UDEMY Unreal Engine 5 C++ Multiplayer Shooter

Server

서버에는 GameMode, GameState, All PlayerState, All PlayerController, All Pawn이 존재

 

Client

ex) Client 1 (2,3 동일)

  • Client1은 GamesState에 접근 가능
  • 모든 PlayerState에 접근 가능
  • Client1과 연결된 PlayerController에만 접근 가능
  • 모든 Pawn에 접근 가능

 

반응형

댓글