プレイヤーが入室後、全てのObjectを読み込めたタイミングを知りたい

The whole answer can be found below.

Please note: The Photon forum is closed permanently. After many dedicated years of service we have made the decision to retire our forum and switch to read-only: we've saved the best to last! And we offer you support through these channels:

Try Our
Documentation

Please check if you can find an answer in our extensive documentation on PUN.

Join Us
on Discord

Meet and talk to our staff and the entire Photon-Community via Discord.

Read More on
Stack Overflow

Find more information on Stack Overflow (for Circle members only).

Write Us
an E-Mail

Feel free to send your question directly to our developers.

プレイヤーが入室後、全てのObjectを読み込めたタイミングを知りたい

mushipan0929
2022-01-19 10:02:09

この質問は他サイトでも投稿しており、マルチポストな質問となっています。

回答を頂き次第、双方のサイトに回答を記載し解決した場合、迅速に回答の募集を終了し解決案を全てのサイトに記載致します。

非マスタークライアントがルームに入室後、他のプレイヤーのオブジェクトを読み終えた事を示す変数は無いのでしょうか?

オンライン対戦ゲームの為にPUN2を勉強していますが、参加者が全員共通で使うオブジェクトをルームのマスタークライアントが作り、後ほど入ってきたプレイヤー達はそのオブジェクトを取得し共同で使う...といった方法で行きたかったのですが

部屋に入って他プレイヤーのオブジェクトが反映されるまで少しラグがある為、入った直後に取得しようしても出来ませんでした。

今はコルーチンを用いて入室後少し待って取得させるようにしていますが、状況によってはそれ以上接続に時間が掛かる場合も考えられますし、読み込みが終わった事を示す変数があると嬉しいのですが...

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)");    
    }    
}    

Comments

JohnTube
2022-01-19 16:37:01

Hi @mushipan0929,

Thank you for choosing Photon!

We offer support only in English.

I will close this discussion and ask you nicely to open another one in English.

You can use translator websites.

Back to top