Как скрыть черный экран при загрузке сцены / уровня загрузки в фоновом режиме - PullRequest
1 голос
/ 09 апреля 2019

Когда я запускаю свое приложение, я получаю временный черный экран на 8 секунд сразу после заставки, и после этого загружается моя тяжелая сцена.Чтобы решить эту проблему и после прочтения других вопросов, я добавил пустой Scene0, чтобы загрузить тяжелую сцену в фоновом режиме.Но это не решило проблему - я попробовал 2 решения:

Решение 1:

 public class Scene0 : MonoBehaviour
 {
 public string levelName;
 AsyncOperation async;

 void Start() {
     StartCoroutine("load");
 }

 IEnumerator load() {
         async = SceneManager.LoadSceneAsync(heavyScene);
     async.allowSceneActivation = false;
     yield return async;
 }

 public void ActivateScene() {  //Button 
     async.allowSceneActivation = true;
 }

Результат: 4 секунды черного экрана после заставки + 4секунд черный после нажатия кнопки (сцена должна была быть загружена, поэтому не уверен, почему черный)

Решение 2:

Удалена void Start() функция.И изменил функцию кнопки на -

public void ActivateScene() { 
    StartCoroutine("load");
    async.allowSceneActivation = true;
}

Результат: нет черного экрана после заставки (yay).Но 8 секунд черный экран после нажатия кнопки

...