Как синхронизировать тело с несколькими суставами в сети Unity/Photon Unity?

Это то, что я пробовал.

Я сделал 2D-тело с дочерними объектами, связанными с суставами, и я добавил компонент photonView к телу и перетащил туда дочерние преобразования gameObject. Проблема в том, что это довольно неточно, и когда я устанавливаю скорость двигателя, оно отстает, и позиция не такая же на экране других игроков.

Вероятно, это очень плохой вопрос, но все, что я хочу знать, это как я могу правильно синхронизировать тело с несколькими дочерними игровыми объектами, прикрепленными суставами.

Также я пока не пробовал использовать RPC-вызовы, но мне кажется, что игра будет тормозить :/


person Oki Doki    schedule 13.10.2016    source источник


Ответы (1)


Одной из проблем может быть то, что вы эффективно настраиваете два разных фрагмента кода, которые влияют как на тело, так и на его потомков: физика влияет, и теперь удаленные игроки также получают обновления из сети — с задержкой, которая испортит ваш физический мир.

Вы можете отключить физику объектов, которыми вы не управляете. Сделайте эти кинематические, а затем обновите объект только тем, что вы получаете через сеть. Будет лагать, но это уже на ваше усмотрение компенсировать и скрыть (и другая тема).

Возможно, вы захотите объединить обновления, отправленные для «вашего» объекта, с обновлениями дочерних объектов. Таким образом, вы получаете снимок всего персонажа/объекта, когда он появляется.

person Tobias    schedule 27.10.2016