본문 바로가기

새싹 UE5

Unreal Network - Possess 동기화 & Spectator Pawn

언리얼에서 PlayerController 의 Possess 는 서버에서 호출되면서 언리얼 엔진의 리플리케이션 시스템이 적용되어 있어 playercontroller 와 Pawn 의 변경 내용을 자동으로 동기화한다.

 

 

 

1. 사망 시 애니메이션에서 노티파이로 OnDie 실행. 죽은 클라이언트의 Mesh 를 숨기면서 DieProcess() 실행

2. MainUI 의 Retry 버튼을 활성화

 

3. Retry 버튼을 누르면 관찰자 모드를 실행

 

4. ServerRPC 로 서버에서 Possess 를 진행 즉, 사망한 객체는 서버에게 Possess 스위칭을 요청한다.
여기서 사망한 객체의 소유자 (playercontroller) 가 서버에게 Possess 신청하는 것이고 Possess 와 같은 함수는 리플리케이션이 보장되므로 다른 클라이언트들에게도 동기화 되어진다.

 

5. RespawnPlayer 함수가 ServerRPC 에서 TimerManager 에 의해 예약 되었으므로 실제 실행은 서버에서 호출되는 것이라서 gm 을 가져올 수 있다.