Unreal Engine

[UE]RPC

programmer-faust 2025. 9. 4. 21:20
  • 순서
    1. RPC란?
    2. RPC의 용도
    3. RPC의 종류
    4. 서버로  RPC를 보내기 위한 조건
  • RPC(Remote Procedudre Call) 란?
    1. 원격 프로시저 호출을 말하며 호출하는 PC와 실행하는 PC가 달라도 되게끔 해주는 통신 기법이라고 할 수 있음.
    2. 언리얼 엔진에서 게임 클라이언트와 서버 간에 정보를 주고받고, 특정 행동을 요청하거나 수행하기 위한 핵심적인 네트워킹 메커니즘으로 사용되거나 서버에서 함수를 호출하거나 클라이언트에서 함수를 호출하는 등 다양한 방식으로 사용됨.
  • RPC의 용도
    1. 모든 클라이언트에게 일괄적으로 메시지를 전달하거나 네트워크 기반의 액션과 동기화함.
    2. 게임에 큰 영향을 끼치지 않는 일시적인 효과들에 사용하는 편으로 주로 코스메틱(사운드, 파티클)에 사용됨
      • 큰 영향을 끼치는 것들은 프로퍼티 레플리케이션을 사용하는 것이 좋음
  • RPC의 종류
    1. ServerRPC: 클라이언트에서 서버로 특정 동작을 요청할 때 사용됨.
    2. ClientRPC: 서버에서 특정 클라이언트에게 함수를 호출하여 실행할 때 사용됨.
    3. NetMulticast: 서버에서 호출되어 네트워크에 연결된 모든 클라이언트에게 함수를 전달함
  • 서버로 RPC를 보내기 위한 조건
    1. RPC를 보내는 액터가 네트워크에 연결된 클라이언트에서 실행되어야함.
    2. 함수는 Client나 Server, Multicast를 포함한 FUNCTION()매크로로 선언되어야 하며, UFUNCTION(Server)으로 선언된 함수를 호출해야 서버에서 실행되도록 보장할 수 있음

'Unreal Engine' 카테고리의 다른 글

[UE]Pawn/Character  (0) 2025.09.11
[UE] 언리얼 네트워크 롤  (0) 2025.09.03
[UE]네트워크 넷 모드  (0) 2025.09.03
[UE] 비헤이비어 트리와 FSM  (0) 2025.08.29
[UE] UE의 string 클래스  (1) 2025.08.29