새싹 UE5
Unreal Network - Pistol, Fire, Dead 동기화
__sapar
2024. 11. 27. 23:58
RPC 를 사용한 네트워크 동기화
권총 부착 or 해제를 서버 - 클라이언트's 동기화
1. F키를 눌러 TakePistol 호출 시 ServerRPC 로 서버에 요청
2. ServerRPC 함수에서 총을 가지고 있지 않다면 가장 가깝게 있는 권총을 선택
3. 안가지고 있으면 가장 가까운 권총을 서버에서 Multicast Attach 실행. 모든 클라에게 해당 캐릭터의 총 장착을 동기화
가지고 있으면 현재 권총을 서버에서 Multicast Detach 실행. 모든 클라에게 해당 캐릭터의 총 해제를 동기화
총 쏘기 및 재장전 동기화
1. 라인 트레이스로 Hit 결과 값을 ServerRPC_Fire 에게 전달하면서 서버에게 Fire 동기화 요청
2. 서버에서 MulticastRPC_Fire 로 모든 클라이언트에게 특정 캐릭터의 Fire 를 동기화 시전
3. Multicast_Fire 에서 요청한 객체의 Fire 애니메이션 실행하여 모든 클라이언트에서 복제된 해당 객체가 Fire 애니메이션을 동기화
Local 만 가지고 있는 MainUI 의 불릿 이미지 소비
4. 재장전도 같은 형식으로 Local >> Server -> Multicast (All Client ) 순으로 모든 클라이언트를 동기화
Local 용 UI 와 다른 클라이언트 머리 위에 띄우는 체력바