[Unity] Photon Fusion (5) - RPC

2024. 8. 28. 20:55Application & Note/Unity Engine

RPC에 대한 간략한 소개

전편에 이어서 말하자면, 다른 플레이어의 네트워크 속성을 수정해야 하는 경우 StateAuthority를 어떻게 처리해야 하는가이다. 그리고 이러한 방법은 RPC(원격 프로시저 호출)을 통해서 처리할 수 있다. Fusion 튜토리얼에서 제공하는 아래 코드를 참고하자.

 

먼저 Health 라는 Component에 있는 DealDamageRpc Function에 RPC 프로퍼티를 붙였다. 그다음 RpcSources.All을 사용해 누구나 RPC를 호출할 수 있게 했고, RpcTargets.StateAuthority를 사용해 StateAuthority만 RPC를 수신하게 했다. (StateAuthority가 Network Property를 업데이트 하기 때문)

 

이 경우는 Raycast로 Object를 추적하고, Health Component를 얻어온 상황 이다.

그리고 이런 식으로 RPC를 때려 버리면, 상대의 StateAuthority를 통해서 상대 클라이언트의 Object의 Health를 조정하게 된다.