Проблема синхронизации при создании нового игрока

Проблема синхронизации при создании нового игрока

Сообщение heemun 10 авг 2014, 18:06

Всем привет.
Задавал этот вопрос уже и на английском форуме и на форуме exitgames, но ответа не получил.

Начал с Marco Polo туториала на сайте exitgames: http://doc.exitgames.com/en/pun/current ... c317517599

Вроде все хорошо, монстры респаунятся, бегают, прыгают, все хорошо.
Пробую на основе этого сделать тоже самое у себя только с кубиками (камера только за игроком не следует, статична). Тоже вроде все неплохо, кубики двигаются, поворачиваются, разные игроки видят друг друга.

Но есть одна проблема: при появлении нового игрока на сцене, все уже присутствующие кубики (игроки) для него оказываются в начале координат. Это происходит непосредственно при создании нового игрока, в следующий же миг ранее созданные игроки перемещаются в свои настоящие позиции. При этом, если наблюдать игру от "старого" игрока, то его позиция как была, так и есть. Т.е. тут проблема именно в создаваемом игроке, для него почему-то в начальный момент времени все игроки оказываются в начальной же точке.

Кто-нибудь может подсказать, в чем проблема?

Игрока создаю и включаю скрипт его управление так:
Синтаксис:
Используется csharp
GameObject player = PhotonNetwork.Instantiate("Cube", Vector3.zero, Quaternion.identity, 0);
CubeController controller = player.GetComponent<CubeController>();
controller.enabled = true;
heemun
UNец
 
Сообщения: 36
Зарегистрирован: 10 авг 2014, 17:13

Re: Проблема синхронизации при создании нового игрока

Сообщение chapaeff 24 авг 2014, 15:38

PhotonView на игроках есть?
chapaeff
UNец
 
Сообщения: 1
Зарегистрирован: 07 окт 2013, 21:24

Re: Проблема синхронизации при создании нового игрока

Сообщение PygbIK 17 сен 2014, 20:28

Если мне память не изменяет, то проблема в том что ты повесил в photon view следить не за NetworkController'ом ( ThirdPersonNetwork, ну или как ты обозвал скрипт отвечающих за синхронизацию и сериализацию), а скрипт контроллера персонажа или какой-то другой. Кинь скрин с инспектора префаба Player'a.

П.с. могу ошибаться, но с проблемой сталкивался и не помню как решил :)
Newbie Developer
Аватара пользователя
PygbIK
UNец
 
Сообщения: 31
Зарегистрирован: 29 апр 2014, 13:10

Re: Проблема синхронизации при создании нового игрока

Сообщение frozencat 18 сен 2014, 13:49

Все верно. Игроки появляются в Vector3.zero, т.е. в 0, потом происходить процесс получения текущих координат и они меняются на актуальные.
Вариант №1 создавать вне видимой области и потом синхронизировать.
Вариант №2 показывать Мэш и коллайдер после синхронизации.
Вариант №3 "переносить игрока (камеру) к полю" после синхронизации
Вариант №4 ... придумать что-нибудь еще...
frozencat
UNец
 
Сообщения: 24
Зарегистрирован: 03 авг 2014, 18:21


Вернуться в Photon

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3