Unity Photon InstantiateSceneObject () не работает - PullRequest
0 голосов
/ 09 мая 2018

У меня многопользовательская игра в Unity. Я использую PhotonEngine для этого.

В игре есть курица, это игрок. Он может собирать семена с земли. Затем оно доставляет семя в определенное время и получает одно очко.

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

public virtual void OnJoinedRoom()
{
    PhotonNetwork.Instantiate(player.name, spawnPoint.position, spawnPoint.rotation, 0);
    lobbyCamera.SetActive(false);
    PhotonNetwork.InstantiateSceneObject(seed.name, spawnPoint.position, spawnPoint.rotation, 1, null);
    Debug.Log("1 seed spawned.");
}

Но как-то не работает. Программа не выдает ошибку или предупреждение. Более того, я вижу сообщение, записанное в debug.log. Так что в принципе это порождено. Но он не появляется в иерархии, он нигде не появляется. Так что это не так. Что я сделал не так?

p.s. Я добавил семенной сборник в код. Он находится в папке ресурсов. Так что это не проблема.

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

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

 PhotonNetwork.InstantiateSceneObject(seed.name, spawnPoint.position, spawnPoint.rotation, 1, null);

попробуйте изменить число 1 в этой строке на 0. (0 - это группа интересов всех, это означает, что она транслируется всем пользователям) Вы не можете отменить регистрацию в группе 0.

0 голосов
/ 06 июня 2018

единственное, что приходит мне в голову, это то, что возможно вы не главный клиент? Попробуйте изменить свой код в

if (PhotonNetwork.isMasterClient)
{
   PhotonNetwork.InstantiateSceneObject(seed.name, spawnPoint.position, spawnPoint.rotation, 1, null);
}

иначе каждый игрок, присоединяющийся к комнате, будет пытаться породить объект на сцене, не имея разрешения на это.

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