Closed3

PUN2のチュートリアルを進めるメモ

だーら(Flamers / Memotia)だーら(Flamers / Memotia)

ただのメモ

  • PhotonNetwork.AutomaticallySyncScene
    最初に読み込むSceneのAwakeでの利用など。

  • Assets/Resourcesにprefab化する必要のある時

PhotonNetwork.Instantiate("xxxxx", ...)
  • MasterClientか?
    OnPlayerEnteredRoomなどでSceneの変更などを行うときの確認。
    MasterClientが変更し、AutomaticalllySyncSceneで他が同期
if (PhotonNetwork.IsMasterClient)
  • 独自の同期事項
    コンポーネントをアタッチするだけの、PhotonTransformViewなどと異なり、アプリケーション独自で同期する必要のある変数を同期する方法
    IPunObservableを継承

デモコード

        public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
        {
            if (stream.IsWriting)
            {
                stream.SendNext(IsFiring);
                stream.SendNext(Health);
            }
            else
            {
                this.IsFiring = (bool)stream.ReceiveNext();
                this.Health = (float)stream.ReceiveNext();
            }
        }

https://doc-api.photonengine.com/ja-jp/pun/v2/group__public_api.html#ga60e32c6f72737452d476ef77cfe52b9c

  • 自分だけ動かす
    if (photonView.IsMine)で判別。頻出
だーら(Flamers / Memotia)だーら(Flamers / Memotia)

Photonと関係ないけど

  • PlayerPrefsでローカルにデータ保存

要学習

  • 変数の前の_
  • シングルトン
  • public変数と、[SerializeField]の使い分け
  • MonoBehaviourPunCallbacksMonoBehaviourPunの使い分け
  • using Photon.Punと、using Photon.Realtimeの差
このスクラップは2022/08/15にクローズされました