Проблема с перемещением клиентов / игроков с Photon Networking в Unity - PullRequest
0 голосов
/ 27 декабря 2018

Я делаю игру, в которой игроков кладут на тарелки, а с тарелками / игроками происходят случайные события.Я прошел через множество различных сетевых решений, таких как UNET, Mirror, Mirror + Steamworks P2P, но ни одно из них не сработало (главная проблема - невозможность присоединиться через IP), поэтому я остановился на Photon.После того, как Punv2 просто не работал над моим проектом (ошибка в PhotonEditor.CS), я просто использовал Punv1, который по большей части работает идеально.

Проблема сейчас заключается в том, что я пытаюсь порождать игроковна принадлежащих им пластинах, но они появляются только на первой пластине, несмотря на то, что каждая пластина принадлежит игроку (на каждой пластине есть сценарий, который указывает, какой игрок «владеет» им. Это устанавливается правильно).Кажется, это происходит только тогда, когда я пытаюсь протестировать с реальным игроком / клиентом.Если я создаю фальшивого игрока, просто порождая его в префабе, а затем запускаю его, оба игрока будут перемещены на свою правильную тарелку, так что, похоже, это проблема с сетью.

Вот код, отвечающий за перемещение игроков вих тарелки.

    foreach (GameObject plate in spawnedPlates)
    {
        //Here we loop through each plate, get the player assigned to it and move the player to that plate.
        GameObject player = plate.GetComponent<Plate>().assignedTo; 
        PlayerClientControl playerController = player.GetComponent<PlayerClientControl>(); // originally for UNET/Mirror. Left in incase I need it(had an RPC function that moved the player).

        player.transform.position = plate.transform.position + new Vector3(0, 4, 0);
    }

Что я делаю не так?

РЕДАКТИРОВАТЬ:

Кажется, они перемещаются в правильные позиции (или, по крайней мере, он пытается двигатьсяих в правильное положение) с помощью оператора отладочной печати, который печатает, где они пытаются телепортироваться, для дальнейшего закрепления этой проблемы с сетью, но я понятия не имею, как ее исправить.

Я полагаю, это связано с синхронизацией хоста / клиента?Если бы кто-то мог пролить свет на это, это было бы замечательно, потому что я выдергиваю свои волосы из-за этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...