Unity3d Photon - движение персонажа не синхронно

Я новичок в фотонах на unity3d. Я хочу синхронно перемещать персонажа в игре. Я прикрепляю скрипт в качестве наблюдателя к просмотру фотонов и использую этот код

void OnPhotonSerializeView(PhotonStream stream,PhotonMessageInfo info)
{
    if (stream.isWriting)
    {
        Debug.Log("writing");
        stream.SendNext(transform.position);
        stream.SendNext(transform.rotation);

    }
    else
    {
        Debug.Log("reading");
        this.correctPlayerPos = (Vector3)stream.ReceiveNext();
        this.correctPlayerRot = (Quaternion)stream.ReceiveNext();
    }
}

Проблема в том, что игрок, который создает комнату, может изменять положение и вращение игрока, он может только писать. Но второй игрок (который присоединяется к комнатам) не может менять положение и вращение, он может только читать. В чем может быть проблема с моей настройкой.

Я следил за учебником Marco Polo (http://doc.exitgames.com/en/pun/current/tutorials/tutorial-marco-polo) для этого. Любая помощь очень приветствуется.


person Aqeel Raza    schedule 03.05.2014    source источник


Ответы (1)


Если вы создаете экземпляр GameObject для каждого игрока через PhotonNetwork.Instantiate, то у каждого клиента будет свой собственный GameObject, для которого этот клиент может писать обновления.

person Tobias    schedule 23.06.2014