https://connect.unity.com/p/pun2deshi-meruonraingemukai-fa-ru-men-sono1
こちらのサイトを参考にしてUnityのPhotonを使っているのですが、ネットワークオブジェクトがインスタンス化できず困っています。
public override void OnJoinedRoom() { // マッチング後、ランダムな位置に自分自身のネットワークオブジェクトを生成する var v = new Vector3(Random.Range(-3f, 3f), Random.Range(-3f, 3f)); PhotonNetwork.Instantiate("UnkomanEmpty", v, Quaternion.identity); Debug.Log("unko"); }
というコードを書いてプレファブをインスタンス化しようとしているのですが、うまくいきません。
まず、このコードではランダムな位置にオブジェクトが生成されるはずですが、実行してみるとそうはならず、シーンビューでオブジェクトを配置した場所と同じところにオブジェクトが生成されます。
また、自身のネットワークオブジェクトのみ操作できるようにする「if(photonView.IsMine)」を書くと、その{}内のコードが動かなくなります。
上記コード内のDebug.Logは動いています。
この事から、おそらくネットワークオブジェクトのインスタンス化ができていないのだとわかります。
ですが、なぜインスタンス化ができないのかがわかりません。
インスタンス化したいプレファブには、しっかりPhotonViewコンポーネントをつけてあります。
インスタンス化したいプレファブはResourcesフォルダに入れてあります。
何度も確認しましたがスペルミスは見当たりませんでした。
Photon関連のスクリプトは、全て参考先のサイトのもののコピペです。
それでもインスタンス化が上手くできない原因がわかりません。
わかる方教えてください。
参考先サイトと自分の画面が違うところが1つだけあり、PhotonViewコンポーネントの中身が少しだけサイトと違います。
これが原因かどうかはわからないのですが、一応載せておきます。
またPhoton関連でもう1つ質問があって、
インスタンス化したいネットワークオブジェクトは全てResourcesフォルダに入れる必要がありますが、どこのResorcesフォルダに入れればいいのかわかりません。
Assets直下には、自分で作ったResourcesフォルダがあります。アセットストアからインポートしたPUN2の「PhotonUnityNetworking」フォルダの中にもResorcesフォルダがあります。
このうち、どちらのResourcesフォルダに入れれば良いのでしょうか?
どちらに入れても構わないのでしょうか?
今回は一応どちらのフォルダにもプレファブを入れました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/23 01:10
2020/07/23 02:45
2020/07/23 03:40