Utworzyłem ekran ładowania, aby wyświetlać animację ładowania podczas ładowania następnej sceny. Następną scenę ładuję asynchronicznie za pomocą:
yield return SceneManager.LoadSceneAsync(scene,LoadSceneMode.Additive);
I również ustawione Application.backgroundLoadingPriority = ThreadPriority.Low;
, ale zachowanie jest nadal takie samo jak zwykłe obciążenie poziomu.
Czy coś brakuje?
Oczekiwane zachowanie:
- Wyjdź z poziomu i wycisz.
- Pojawi się ekran ładowania.
- Po zakończeniu ładowania zniknij ekran ładowania.
- Zanikaj w następnej scenie.
Co się dzieje:
- Wyjdź z poziomu i wycisz.
- Zostanie wyświetlony ekran ładowania, zamrożony
- Nagle pojawia się nowa scena.
Po rozpoczęciu ładowania gra po prostu zawiesza się, jak w przypadku zwykłego ładowania sceny.
Przeczytałem, że musisz ustawić allowSceneActivation = false
, abyś mógł wyłączyć ekran ładowania, a następnie ustawić go tak, true
aby jedność zakończyła ładowanie, ale to całkowicie zawiesza moją grę, tak jakby operacja asynchroniczna nigdy się nie kończy.