Q&A
この質問は他サイトでも投稿しており、マルチポストな質問となっています。
回答を頂き次第、双方のサイトに回答を記載し解決した場合、迅速に回答の募集を終了し解決案を全てのサイトに記載致します。
Photon 質問フォーラム
非マスタークライアントが入室後、他のプレイヤーのオブジェクトを読み終えた事を示す変数ってPhoton側で用意されれいないでしょうか?
公式のリファレンスを探したのですが、私では見つけられませんでした。
オンライン対戦ゲームを作りたくてPUN2を勉強しています。
ルームのマスタークライアントが作ったオブジェクトを他のプレイヤーが入ってきたときに各自取得させたいので、入室直後に取得したかったのですが
こちらの質問でも書いてある通り
UNITY Photon2(PUN2) 子オブジェクトが取得できない
少し時間を空けてオブジェクトが表示される為、入室直後だとタイミングが合いません。
今はコルーチンで少し待機させ取得していますが、適当に5秒待たせてもそれ以上接続に時間が掛かる場合も考えられますし、何か他のよい方法などないでしょうか?
using Photon.Pun; using Photon.Realtime; using System.Collections; using UnityEngine; public class SampleScene : MonoBehaviourPunCallbacks { public GameObject obj; private void Start() { PhotonNetwork.ConnectUsingSettings(); StartCoroutine(DelayLoad()); } public override void OnConnectedToMaster() { PhotonNetwork.JoinOrCreateRoom("Room", null, null); } public override void OnJoinedRoom() { if(PhotonNetwork.LocalPlayer.IsMasterClient) { PhotonNetwork.Instantiate("Avater", Vector3.zero, Quaternion.identity, 0); } } public IEnumerator DelayLoad() { yield return new WaitForSeconds(5f); obj = GameObject.Find("Avater(Clone)"); } }
回答1件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2022/01/21 08:58