Система Curtain в Unity — это надёжный и универсальный инструмент, разработанный для управления переходами и экранами загрузки в ваших играх или приложениях. Она служит как 'занавес', скрывая изменения сцены или процессы загрузки, происходящие в фоне, обеспечивая бесшовный игровой опыт.
Использование Curtain в ваших проектах Unity может значительно упростить управление переходами между сценами и последовательностями загрузки. Она управляет отображением полноэкранного оверлея, который можно настроить и анимировать, чтобы скрыть операции загрузки, которые могут отвлекать пользователя или нарушать игровой процесс.
- Анимированные переходы: Curtain может плавно появляться и исчезать с настраиваемыми анимациями.
- Поддержка коллбэков: Выполнение любой логики после анимации с помощью коллбэков, идеально подходит для загрузки сцен или ресурсов в фоне.
- Настройка внешнего вида: Легко измените внешний вид вашего занавеса через ScriptableObject Unity, чтобы соответствовать эстетике вашей игры.
- Контроль задержки: Укажите задержки для скрытия занавеса, что позволит гибко синхронизировать его с процессами загрузки вашей игры.
- Клонируйте репозиторий или загрузите последний релиз.
- Импортируйте пакет Curtain в ваш проект Unity.
- Перетащите префаб
CurtainView
на ваш холст в нужной сцене.
Сначала убедитесь, что в вашей сцене есть экземпляр CurtainView
, и что CurtainService
правильно инициализирован и
внедрён там, где вы хотите управлять занавесом.
Вызовите curtainService.ShowCurtain()
, чтобы закрыть экран. Это обычно делается перед началом операции загрузки.
curtainService.ShowCurtain(isAnimated: true, callback: () =>
{
// Этот блок кода выполнится после полного появления занавеса.
// Здесь вы можете начать загрузку вашей сцены или ресурсов.
});
Как только операция загрузки будет завершена, вызовите curtainService.HideCurtain(), чтобы убрать занавес и показать обновленное содержимое.
curtainService.HideCurtain(isAnimated: true, callback: () =>
{
// Этот код выполнится после полного исчезновения занавеса.
// Это идеальное место для перехода на новую сцену или выполнения других послезагрузочных операций.
});
Если вам нужно оставить занавес отображаемым в течение установленного времени (например, чтобы показать анимацию загрузки или экран брендинга), вы можете использовать функцию задержки скрытия.
// Предполагая, что у вас есть объект curtainConfig с свойством HideDelay
curtainService.HideCurtain(curtainConfig.HideDelay, () =>
{
// Код для выполнения после задержки и скрытия занавеса.
});
- NaughtyAttributes: Asset Store, GitHub
- DoTween: Asset Store
- Zenject: Asset Store, GitHub
Ваши предложения приветствуются! Если у вас есть какие-либо предложения по улучшению этого инструмента, пожалуйста, не стесняйтесь делать форк репозитория, вносить свои изменения и отправлять запрос на слияние (pull request).
Этот проект лицензирован под лицензией MIT - см. файл LICENSE для подробностей.