Closed3
PUN2のチュートリアルを進めるメモ
Fusionの登場でPUN2はレガシーになってしまったけど、情報量の多さなどを考慮してPUN2を学習していく
ただのメモ
-
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();
}
}
- 自分だけ動かす
if (photonView.IsMine)
で判別。頻出
Photonと関係ないけど
- PlayerPrefsでローカルにデータ保存
要学習
- 変数の前の_
- シングルトン
- public変数と、[SerializeField]の使い分け
-
MonoBehaviourPunCallbacks
、MonoBehaviourPun
の使い分け -
using Photon.Pun
と、using Photon.Realtime
の差
このスクラップは2022/08/15にクローズされました