본캠프 76일차_언리얼엔진 게임개발 입문_GetLifeTimeReplicatedProps

YU YEON WON·2025년 11월 27일

1. 오늘 배운 내용(키워드)

오늘은 과제 중 등장한 함수(코드)에 대해 조사하여 정리하였다.
GetLifeTimeReplicatedProps 함수?

  • 언리얼엔진의 네트워크 시스템에서 서버와 클라이언트 간 데이터 동기화를 위해 사용
  • 해당 함수 안에서 어떤 변수(프로퍼티)를 복제(replication)할지 등록

사용예

void AHWPlayerState::GetLifetimeReplicatedProps(TArray<class FLifetimeProperty>& OutLifetimeProps) const
{
    Super::GetLifetimeReplicatedProps(OutLifetimeProps);

    DOREPLIFETIME(ThisClass, PlayerNameString);
    DOREPLIFETIME(ThisClass, CurrentGuessCount);
    DOREPLIFETIME(ThisClass, MaxGuessCount);
}

해석

  • AHWPalyerState 클래스에서 GetLifetimeReplicatedProps 함수를 오버라이드한다.
    언리얼엔진의 네트워크 복제 시스템에서 어떤 변수를 서버->클라이언트로 동기화 할지 등록한다.
  • Super::GetLifetimeReplicatedProps(OutLifetimeProps); 호출
    부모클래스(PlayerState)의 복제 설정을 먼저 가져온다.
    상속받은 클래스의 기본 복제 규칙을 유지하면서, 여기에 추가 규칙을 더하는 구조이다.
  • DOREPLIFETIME
    • DOREPLIFETIME(ThisClass, PlayerNameString);
      PlayerNameString 변수를 네트워크 복제 대상으로 등록
    • DOREPLIFETIME(ThisClass, CurrentGuessCount);
      위와 같은 방식으로 변수 복제
    • DOREPLIFETIME(ThisClass, MaxGuessCount);
      위와 같은 방식으로 변수 복제

위과 같은 방법으로 네트워크로 클라이언트에 복제가 필요한 변수를 지정할 때 사용한다고 한다.

2. 느낀점

네트워크로 멀티플레이를 구성하는데 필요한 코드로 인식되어진다. 변수를 복제할 수 있어야 여러 클라이언트에서 동일한 변수를 가져와 데이터가 관리가 될 수 있도록 해야 할 것 같다.

3. 내일 학습 할 것

9번 과제(숫자 야구 게임 만들기) 제출

profile
🕹️🎮🍱✈️📸 안녕하세요! 게임개발에 도전하고 있습니다!

0개의 댓글