2016-08-15 7 views
1

У меня вопрос относительно системы UNET.Unity [UNET] Синхронизация преобразования объекта не-игрока

Есть некоторые объекты в сцене, которые можно выбрать. Я хочу синхронизировать этот объект, когда игрок его подбирает.

Объект имеет NetworkIdentity Компонент с LocalPlayerAuthority проверено. Он также имеет сценарий NetworkTransform, но преобразование синхронизируется только от хоста к клиентам, а не наоборот. Поэтому, если я перемещаю объект со стороны хоста, все клиенты видят это изменение, но если клиент перемещает его, только этот конкретный клиент видит изменение. Что мне нужно сделать, чтобы синхронизировать их с обеих сторон?

ответ

0

Ничего, я уже решил эту проблему.

Что мне нужно сделать, это AssignLocalAuthority не-игрока, используя объект игрока.

+0

Вы также хотите поделиться фрагментом кода в ответе? Я обдумываю одну и ту же проблему, но не могу ее установить. Спасибо –

+1

В объекте игрока вызовите 'AssignLocalAuthority' в командную функцию (чтобы вызвать ее на стороне хоста) с параметром netId не-игрока объект. Вы можете получить netId из компонента NetworkIdentity. Я назначаю полномочия на объект, не являющийся игроком, как этот. Надеюсь, что это поможет: 'NetworkManagerVR.Instance.localNetworkPlayer.CmdAssignObjectAuthority (GetComponent (). NetId);' –

+0

Спасибо, но вы должны добавить его в ответ и для будущего пользователя. –