1.4 - 변수 리플리케이션 [RepNotify]

Network Feature 예제 레벨에 대한 개요로, 예제 1.4: Variable Replication, RepNotify 입니다.

Choose your operating system:

Windows

macOS

Linux

1_4.png

서버 클라이언트 시점 모두를 확인하기 위해서는, Play (플레이) 드롭다운 아래 Number of Clients (클라이언트 수) 칸을 2 로 설정합니다.

종종 리플리케이트되는 변수값의 변화에 따라 일정한 로직을 실행하는 것이 바람직합니다. RepNotify 마킹된 변수에는 값이 변할 때마다 네트워크 오소리티와 원격 머신 양쪽에서 자동으로 호출되는 특수 함수가 있습니다.

이 예제에서 네트워크 오소리티는 RepNotify 변수를 사용해서 가로등의 색을 나타내는 스칼라 변수에 대한 변화를 제어합니다. 값이 변하면 자동 생성되는 OnRep 함수가 호출되며, 이 예제에서는 머티리얼 파라미터를 업데이트합니다.

블루프린트 분석

(아래 그림과 같은) BP_Stoplight_Variable_RepNotify 블루프린트의 이벤트 그래프에서, 라이트 스위치 로직 처리를 위해 네트워크 오소리티에서만 호출되는 스크립트 호출을 확인할 수 있습니다. 라이트의 상태를 나타내는 Streetlight Scalar 변수는 RepNotify 마킹되어 있어, 그 값이 변하면 클라이언트와 서버 양측에서 OnRep_StreetlightScalar 함수가 호출됩니다.

클릭하면 크게 볼 수 있습니다.

그리고 OnRep_StreetlightScalar 함수는 가로등의 비주얼 업데이트가 모든 머신에서 작동하도록 처리합니다.

변수에 대한 RepNotify 설정은 Replication 드롭다운 메뉴 아래 변수의 디테일 패널에서 가능합니다.

1_4_RepNotify.png

이 셋업이면 게임 플레이시 가로등에 대해 클라이언트와 서버 양쪽에서 같은 시퀀스가 실행되는 것을 확인할 수 있습니다.

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기