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

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

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

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

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼