RPC 리모트 프로시져 콜
로컬에서 호출될 수 있지만 다른 컴에서 실행되는 함수
=> 이해가 좀 어려우나, 쉽게 풀어보면 멀티겜에서 서버와 클라가 대화하는 방법임
===================================
RPC를 호출하려면
- 액터가 함수 호출해야 하고,
- 해당 액터가 복제되어야 함!
- 함수는 UFUNCTION으로 지정되어 있어야 함!
===================================
종류는 총 3가지가 있음
- Sever RPC
- Client RPC
- NetMulticast RPC
각각 쉽게 비유해보겠다
1) ServerRPC
클라의 오브젝트가 함수 호출/ 서버만 함수 실행
학생(클라)이 쌤(서버)한테 쌤 저 숙제(클라가 소유한 것)했어요! 쌤은 오케이 알겠다
-> 총쏘기, 아이템 줍기 했다고 서버에게 알릴 때
2) ClientRPC
서버의 오브젝트가 함수 호출/ 특정 클라에서 실행
쌤(서버)이 나(클라)한테만 가비야, 너 숙제 잘했더라?
-> 특정 클라에게만 메시지 전달할 때 씀
3) NelMulticastRPC
서버의 오브젝트가 함수 호출/ 모든 클라에서 실행
쌤(서버)이 모든 학생(모든 클라)에게 얘들아 내일 시험 준비 잘 해와~
-> 전체 플레이어가 알아야하는 효과 줄 때
===================================
RPC는 비신뢰성을 디폴트로 함.
-> 함수 호출이 목적지에 도달할 수 도 안 할 수 도 있다는 뜻!
꼭 도달하게 하려면 아래와 같이 Reliable 키워드 사용해야 함!
UFUNCTION(Client, Reliable)
void DoSomethingReliably_Client();
===================================
'언리얼엔진' 카테고리의 다른 글
언리얼 에디터에서 피봇 위치 바꾸기 (0) | 2025.03.05 |
---|---|
액터의 롤 4가지 (0) | 2025.03.05 |
유틸리티 에디터 만들기 (0) | 2024.09.25 |
메시 Collision 기초 (1) | 2024.08.18 |
[UE5.3] 블레이드 회전 시키기 / 머티리얼인스턴스 Value 수정하기 (1) | 2024.08.11 |