레플리케이션(Replication)
언리얼엔진의 레플리케이션은 서버의 게임 데이터를 클라이언트에게 복제하고 동기화하는 시스템으로서 멀티플레이와 같은 환경에서 모든 플레이어에게 동일한 세상과 이벤트를 발생시키고 경험하게 하기 위해서는 서버의 데이터를 지속적으로 모든 클라이언트에게 알려야 하는데 이 과정이 레플리케이션이다. 언리얼엔진의 레플리케이션은 Sever Authoritative 모델을 따르는데 이는 게임의 진짜 상태를 소유하는 서버가 게임의 모든 중요한 결정을 내리게 되고 서버에 접속한 손님인 클라이언트는 기본적으로 서버가 보내주는 정보를 화면에 보여주는 역할을 한다. 이러한 레플리케이션을 구현하는 방법은 크게 3가지가 있다.
액터(Actor) 레플리케이션
가장 기본이 되는 레플리케이션으로서 어떤 액터를 네트워크상에서 동기화하기 위해서는 그 엑터를 반드시 레플리케이션이 활성화되어야 한다. 블루프린트를 통해서 클래스 기본값에서 레플리케이션을 켜주거나 C++의 생성자에서 다음과 같은 코드를 추가해 주면 된다.
bReplicates = true;
변수(Property) 레플리케이션
액터의 중요한 데이터를 동기화할 때 사용한다. 서버에서 이 변수 값이 바뀌면 엔진은 바뀐 값을 클라이언트에 전송하여 동기화한다. 블루프린트의 변수 세부 정보 패널에서 설정하거나 UPROPERTY() 매크로에 Replicated 키워드를 추가해주면 된다.
함수(RPC) 레플리케이션(Remote Procedure Call)
순간적인 이벤트를 전달할때 사용하며 RPC는 특정 함수를 다른 서버나 클라이언트에서 실행하도록 요청한다.
'unreal 5기' 카테고리의 다른 글
| 251027 언리얼엔진 본캠프 53일차 UActorComponent와 USceneComponent (0) | 2025.10.27 |
|---|---|
| 251024 언리얼엔진 본캠프 52일차 게임플레이 프레임워크 (0) | 2025.10.24 |
| 251022 언리얼엔진 본캠프 50일차 리플렉션(Reflection) 시스템 (0) | 2025.10.22 |
| 251021 언리얼엔진 본캠프 49일차 언리얼엔진의 Cast (0) | 2025.10.21 |
| 251020 언리얼엔진 본캠프 48일차 CDO와 UObject (0) | 2025.10.20 |