언리얼에서 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 을 가져올 수 있다.
'새싹 UE5' 카테고리의 다른 글
UE5 JsonObject 와 JsonUtilities 를 이용한 파싱 (0) | 2024.12.05 |
---|---|
Unreal Network - Pistol, Fire, Dead 동기화 (0) | 2024.11.27 |
24-11-22 네트워크 큐브 생성 동기화 (0) | 2024.11.22 |
24-11-21 언리얼 네트워크 캐릭터 동기화 (1) | 2024.11.22 |
24-11-20 언리얼 네트워크 - 색상 동기화와 RPC (0) | 2024.11.20 |