Цель: создать простой экран загрузки, показывающий прогресс, используя компонент слайдера Unity.

Настройка сцены
Я создал две новые сцены: сцену загрузки и следующую загрузку в фоновом режиме. Затем у меня есть пустой объект, выступающий в роли менеджера, который будет иметь сценарий загрузки сцены.

У меня есть холст с фоновым изображением, заголовком и полосой загрузки в моей сцене загрузки.

Я настроил фоновое прямоугольное преобразование на все нули для полосы загрузки и изменил множитель пикселей на единицу до 5.

Затем для заливки я сделал то же самое, изменив преобразование записи на ноль, настроив множитель пикселей на единицу до 5 и изменив цвет на зеленый.

Наконец, для области ручки я отключил изображение ручки и прикрепил текстовый компонент к ручке, чтобы отображать процент полосы загрузки.
Загрузка сценария сцены
Этот сценарий прикреплен к объекту менеджера и будет связываться с холстом, чтобы отображать ход загрузки следующей сцены. Возьмите ползунок и текстовый объект, прикрепленный к ползунку.
using System.Collections;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class LoadingBar : MonoBehaviour
{
[SerializeField] private Slider _slider;
[SerializeField] private TMP_Text _text;
// Start is called before the first frame update
void Start()
{
StartCoroutine("LoadLevel");
}
IEnumerator LoadLevel()
{
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync("NextScene");
while (!asyncLoad.isDone)
{
_slider.value = asyncLoad.progress;
_text.text = asyncLoad.progress.ToString();
yield return null;
}
}
}
