Photonにて下記のコードでマスターが生成したオブジェクトがあります。
C#
1if (PhotonNetwork.LocalPlayer.IsMasterClient) { 2 PhotonNetwork.Instantiate(gameObject.name, origin, Quaternion.identity, 0); 3}
このオブジェクトに他のプレーヤーが接触した際に、このオブジェクトを消したいと考えています。
下記のコードを試したところ、マスタークライアントが接触すると他プレーヤー視点でもオブジェクトは消えました。
しかし非マスタークライアントが接触した際にオブジェクトは消えませんでした。
C#
1private void OnTriggerEnter(Collider other) { 2 if (photonView.IsMine && other.CompareTag("hoge")) { 3 PhotonNetwork.Destroy(other.gameObject); 4 } 5}
調べたところ、PhotonNetwork.DestroyはPhotonNetwork.Instantiateで生成した人しか消せないようです。
また下記のコードをアイテムにアタッチしたところアイテムの消滅を同期させることが一見できたようにみえました。
が、これは同時に部屋に入室している場合は良いのですが、後から入室した人には入室前に生成されたアイテムは消えず残ったままとなります。
C#
1using UnityEngine; 2using Photon.Pun; 3 4public class WeaponBoxDestroy : MonoBehaviour 5{ 6 private void OnTriggerEnter(Collider other) { 7 Destroy(gameObject); 8 } 9} 10
どのようにすればよいのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。