Help us understand the problem. What is going on with this article?

Photon(PUN2)でネットワークオブジェクトを設定する時のメモ

環境

  • Unity2018.3以降
  • PUN2

準備

  1. PUN2で始めるオンラインゲーム開発入門【その1】 - Unity Connect初期設定をしように則って初期設定を行う
  2. ネットワークオブジェクトにしたいGameObjectをPrefab化し、Resourcesフォルダに入れる

  3. PhotonViewをアタッチする

Transoformを同期する場合

  1. PhotonTransformViewをPrefabにアタッチする

  2. PhotonTransformViewのSyncronize OptionsのPosition, Rotation, Scaleの項目の中から同期したい項目にチェックを入れる

  3. PhotonViewのObserved Componentsに、アタッチしたPhotonTransformViewをドラッグ&ドロップする

Animatorを同期する場合

  1. PhotonAnimatorViewをPrefabにアタッチする

  2. PhotonViewのObserved Componentsに、アタッチしたPhotonAnimatorViewをドラッグ&ドロップする

  3. PhotonAnimatorViewのオプションから同期したい項目を設定する

その他の特定のパラメータを同期する場合

  1. 同期を担当するクラスを作成し(既にある場合は作成する必要はありません)、IPunObservableインターフェースを実装する

  2. 次のようにOnPhotonSerializeView()メソッドを作成する(ここではparameterを同期したいパラメータとしています)

public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
    if (stream.IsWriting)
    {
        stream.SendNext(this.parameter);
    }
    else
    {
        this.parameter = (int)stream.ReceiveNext();
    }
}

3 . PhotonViewのObserved Componentsに上記の処理を書いたコンポーネントをドラッグ&ドロップする

インスタンスを生成する

ネットワークオブジェクトは

PhotonNetwork.Instantiate("PrefabName", position, rotation, 0);

で生成することができます。
このメソッドの第4引数はグループを指定しています。
グループというのはルーム内にあるサブチャンネル的なもので、ルーム内の特定の人達とボイスチャットをしたい場合などに使います。
ここではとりあえず0を指定しています。

参考文献

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした