[Unity] Photon의 PUN2에서 임의의 타이밍에 메서드 실행하기


photon은 유료이지만, 멀티플레이를 쉽게 구현할 수 있어서 좋아요.

지금은 fusion이라는 새로운 계획이 있는데, 아직 pun2를 사용하고 있는 프로젝트도 있고, 임의의 타이밍에 메소드를 실행하는 스크립트를 작성해보고 싶어요.

using UnityEngine;
using Photon.Pun;

public class PunTest : MonoBehaviourPunCallbacks
{
    void Start()
    {

    }

    void Update()
    { }
        photonView.RPC("RPCTest", RpcTarget.All, "뽀롱뽀롱"); }
    }

    [PunRPC]
    void RPCTest(string str)
    {
        Debug.Log(str);
    }
}

실제 프로젝트에서 이런 식으로 작성하지는 않겠지만, 참고용으로 ……

이 코드에서는 Update 때마다 photonView.RPC(“RPCTest”, RpcTarget.All, “뿅~”);을 실행하여 RPCTest를 호출하고 있습니다.

RpcTarget.All을 지정했기 때문에 룸에 있는 모든 플레이어가 RPCTest를 실행하고 “뿅~”하고 디버깅 로그를 출력합니다.

아니, 사실 이런 케이스는 없지만, 실제 프로젝트의 코드 일부를 작성할까 하다가 내용을 보고 ‘아, 보여줄 수 없겠다’는 생각이 들어서 굉장히 적당히 작성했습니다. 죄송합니다.