레벨 블루프린트, 게임모드

김지윤·2025년 1월 6일
0

UE5

목록 보기
7/16

언리얼 학습 초기에 레벨 블루프린트와 게임모드에 대해 알고는 있었지만 언제 사용해야 적절한지 알지 못 했다. 그래서 지금까지 학습하며 알게 된 것들을 오늘 정리해보고자 한다.
사실 복습 겸 초급 강의를 보는 중이라 작성할 글이 없어서 이런 거라도 쓰는 중이다.

레벨 블루프린트(Level Blueprint)
레벨에 종속되어있는 블루프린트 작성 공간이다.

  1. 사용처
  • 해당 레벨에서만 사용할 스크립트를 작성
  • 레벨 내 특정 요소 간의 상호작용을 구현하는 데에 적합
  1. 한계
  • 다른 레벨에서 재사용할 수 없기 때문에 액터 블루프린트에 작성하는 게 적절한 경우도 있음
  1. 사용 예
  • 플레이어가 특정 구역에 들어가면 대화 이벤트 발생
  • 레벨에 배치된 버튼이나 레버 등과 상호작용한 경우 이벤트 발생

게임모드(GameMode)
레벨마다 월드 세팅에서 단 하나 적용할 수 있는 싱글톤 패턴의 클래스

  1. 역할
  • 게임의 전반적인 규칙, 플레이어의 기본 클래스 설정이나 초기화 등을 담당
  1. 구성 요소
  • Default Pawn: 플레이어의 기본 캐릭터
  • HUD: UI 표시를 담당하는 클래스
  • Player Controller: 플레이어 입력 및 카메라 동작 처리하는 클래스
  • Game State: 현재 게임의 상태를 나타내는 클래스
  • Player State: 플레이어마다 가질 고유한 데이터를 저장할 클래스
  • Spectator: 관전자용 클래스

Game State는 플레이어 수, 라운드 수 등을 저장하는 클래스다.
Player State는 플레이어 이름, 점수, 아이템 등을 저장하는 클래스다.
그리고 두 클래스는 서버와 클라이언트가 동기화되는 걸 전제로 작성된다.
GameMode는 GameState를 참조하고, GameState는 PlayerState를 참조한다.

물론 이걸 꼭 지키지 않아도 원하는 기능을 구현하는 것 자체는 가능하지만, 이는 언리얼 프레임워크므로 지켜주면 협업에도 좋고 언리얼 시스템을 이용하기도 좋다.

profile
공부한 거 시간 날 때 작성하는 곳

0개의 댓글