やりたいこと
Photonでルームに入室後、全プレイヤーに送信するRPCメソッド内においてPhotonNetwork.Instantiateで生成したオブジェクトのparentを設定し、それを他のルーム内にいるプレイヤーの画面上でも同じ親子関係になるようにしたい。
[環境]
Unity:2020.2.1f1 + PUN2free v.2.27
制作環境:Windows10
テスト環境:Apach for Windows
プラットフォーム:WebGL
現状
プレイヤーA(自分)とプレイヤーBが同じルーム内にいて、
オブジェクトA
┗オブジェクトC(Aがparent)
という親子関係にしたい場合、オブジェクトの生成と画面への表示はできるのですが、他プレイヤーのRPC内で生成したオブジェクトが上記のような親子関係になりません。
自身のRPC内で生成したAとCに関しては、ちゃんと上記通りの親子関係を実現できますが、なぜプレイヤーBのRPC内で生成したオブジェクトAとオブジェクトCは親子関係がプレイヤーA(自分)の画面上で実現できないのか、理由が分からないので教えて頂きたいです。
また、この問題に関して検索した結果、本サイトで過去に全く同じ質問があったのを見つけました。
https://teratail.com/questions/267997
私の質問は上記の方と全く同じだと思いますが、上記ページ内の解決方法を読んでもどういう事か、理解できなかったので改めて質問させて頂きました。
何卒、よろしくお願い致します。
public class Test : MonoBehaviourPun { [PunRPC] public void CreateCard() // オブジェクト生成 { var pos1 = new Vector3(0f, 0f, 0f); var cardDammy1 = PhotonNetwork.Instantiate("A", pos1, Quaternion.identity, 0); cardDammy1.transform.localPosition = new Vector3(-2.094f, 2.58f, 0f); var cardDammy2 = PhotonNetwork.Instantiate("C", pos1, Quaternion.identity, 0); cardDammy2.transform.parent = cardDammy1.transform; cardDammy2.transform.localPosition = new Vector3(-2.094f, 2.58f, 0f); } public void OnClick() // ボタンがクリックされた { PhotonView view = this.gameObject.GetComponent<PhotonView>(); view.RPC( "CreateCard", RpcTarget.AllViaServer); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。