개발일지/TIL

25-03-27 RPC와 Replication

gs8life 2025. 3. 27. 21:15
반응형

Replication

Replication은 Server에서 Client로 객체상태를 동기화 시켜주는 기능이다.

Replicates = true로 설정해두면 엔진이 알아서 상태를 동기화 시켜주게 된다.

RPC (Remote Procedure Call)

Replication과 다르게 방향을 지정할 수 있다. 즉 무조건 Server -> Client가 아닌 그 반대도 가능하고 Server -> 모든 Client도 가능하다.

또한 RPC는 변수가 아닌 Event를 호출한다고 보면된다.

         [Client: 플레이어 A]
                  │
    (사용자 입력 - Fire 버튼 클릭)
                  │
                  ▼
  [RPC 호출: ServerFireWeapon()]
                  │
                  ▼
         [Server (Authority)]
                  │
    (총 발사 로직 실행: SpawnBullet)
                  │
                  ▼
  [네트워크 복제를 통해 모든 클라이언트에 결과 전파]
                  │
                  ▼
         [모든 Client: 총알 생성 효과 표시]