Черный экран при сборке после создания любой GO в загруженной сцене - PullRequest
0 голосов
/ 18 апреля 2020

Я создаю многопользовательскую игру, используя Photon PUN2 на Unity . Сейчас я работаю над переподключением пользователей на случай перезапуска игры.

Во время игры я меняю сцены с помощью Photon (AutomaticsSyncScene = true и PhotonNetwork.LoadLevel (...)), поэтому, когда игрок подключается, автоматически загружается текущая активная сцена. Все отлично работает ... в редактор единства . Но при сборке при подключении и загрузке экрана сцены черный. Но Unity думает, что все в порядке, потому что не выдало никаких ошибок: /

Дополнительные «симптомы»:

  • воспроизводится ТОЛЬКО в версии сборки;
  • черный весь экран но пользовательский интерфейс (dr aws и работает правильно);
  • экран становится черным только после создания экземпляра любого GO;

Я пытаюсь что-то изменить целый день ... Пожалуйста, помогите

Версия Unity: 2019.3.10f1

Целевая платформа: Windows 10


Мой код. Надеюсь, что это поможет

Подключение к комнате и загрузка подготовительной сцены:

public InputField nameField;

 void Start()
{
    RefreshUi(true);
    PhotonNetwork.AutomaticallySyncScene = true;
    PhotonNetwork.GameVersion = "game_0.1b";
   PhotonNetwork.ConnectUsingSettings();
}

//on button click
public void JoinRoom()
{
    PhotonNetwork.NickName = nameField.text;
    PhotonNetwork.JoinRoom("Room_001");
}

public override void OnJoinedRoom()
{
    if (PhotonNetwork.IsMasterClient)
        PhotonNetwork.LoadLevel("LobbyScene");
}

Загрузка следующей сцены в моем стартовом игровом событии:

[PunRPC]
public void LoadUsers()
{
    ... // handeling data
    if (!PhotonNetwork.IsMasterClient)
        return;
    PhotonNetwork.OpCleanRpcBuffer(photonView); 
    PhotonNetwork.LoadLevel("GameRoom");
}

Создание префабов:

protected override void Execute(List<GameEntity> entities)
{
    foreach (var e in entities)
    {
        var prefab = Resources.Load<GameObject>(e.prefab.path);
        if (!prefab)
            continue;         
        var view = Object.Instantiate(prefab, _parent);
        e.ReplaceView(view);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...