RPC ( Remote Procedure Call )
RPC 는 내가 호출한 함수를 다른 플레이어 PC 에서도 똑같이 실행시키는 방식이다.
Photon 멀티플레이에서 행동과 이벤트 동기화의 핵심 수단이다.
- Photon Engine 에서 제공하는 함수 동기화 방식
- Photon View 가 붙은 오브젝트 기준으로
특정 함수를 모든 ( 또는 일부 ) 클라이언트에서 실행 - 값이 아니라 행동을 보내는 방식
다음처럼 한 번 발생하는 이벤트에 RPC 를 사용하는 것이 적합하다
- 공격 실행
- 피격 처리
- 스킬 발동
- 사운드 재생
- 이펙트 생성
- 게임 시작과 종료
using Photon.Pun;
public class PlayerAttack : MonoBehaviour
{
[PunRPC]
void Attack()
{
Debug.Log("공격 실행");
}
}
photonView.RPC("Attack", RpcTarget.All);
RpcTarget 종류
| All | 나 포함 모든 플레이어 |
| Other | 나를 제외한 플레이어 |
| MasterClient | 방장만 |
| AllBuffered | 나중에 들어온 사람도 실행 |
| OthersBuffered | 나를 제외 + 버퍼 저장 |
게임 시작 연출 / 환경 생성은 Buffered 를 자주 사용한다.
동작 흐름
- Client A ( RPC 호출 )
- Photon Server
- Client A, B, C ( 동일 함수 실행 )
정리
RPC 는 한 번 발생한 행동을 모든 클라이언트에서 동일하게 실행시키는 함수 동기화 방식이다.
'🌍Network' 카테고리의 다른 글
| Firebase (0) | 2026.01.08 |
|---|---|
| IPunObservable (0) | 2026.01.07 |
| Photon View (0) | 2026.01.07 |
| Photon Lobby & Room (0) | 2026.01.07 |
| 네트워크 기초 (0) | 2026.01.05 |