К содержимому
Темы
На этой странице

Темы

Тема - это палитра из 64 цветов, на которые объекты ссылаются по номеру слота. Как работают слоты, ссылки и ключи темы и как тему создать, передать и импортировать

Цвет типа Тема не хранит собственного цвета, только номер слота. Он берёт то, что лежит в этом слоте у темы, активной на текущем кадре. Поменяйте тему, и всё, что на неё ссылается, поменяется вместе с ней

Чем это лучше вбитых цветов и как сохранить уровень читаемым при любой теме - Цвет, темы и постобработка

Что хранит тема

  • Имя - видно в списках и окнах выбора
  • Id, ThemeId. Ключи темы ссылаются на тему по нему, а не по имени
  • 64 цвета в сетке 8 на 8, у каждого есть прозрачность
  • Имя слота для каждого слота, по желанию. Пока вы не назвали ни одного слота, список имён в файл не пишется

Тема - это данные внутри level.json, а не файл в resources (см. Что нужно для уровня). Тем в уровне может быть сколько угодно

Раскладка 8 на 8 повторяет раскладку Afterbeat. Игра не закрепляет за слотом никакой роли: собственная тема игры Balanced просто группирует свои 64 цвета по оттенку

Как цвет находит своё значение

В два шага:

  1. Дорожка Тема на таймлайне событий говорит, какая тема активна на этом кадре
  2. Цвет типа Тема называет слот от 0 до 63 в активной теме

На тему могут ссылаться, например, цвет фигуры (каждый её угол отдельно), цвет текста и фон уровня

Позиция слота и есть его личность. Переставьте цвет в другой слот, и всё, что ссылалось на старый, перекрасится

Смена темы во времени

Между двумя ключами темы игра плавно смешивает всю палитру от одной темы к другой. Сглаживание берётся у более позднего ключа (см. Ключи и сглаживание)

Если ключей темы нет совсем, каждый слот белый

Предупреждение

Новый ключ получает Linear, поэтому палитра плывёт на всём отрезке от предыдущего ключа темы до этого. Чтобы тема сменилась точно на дропе, поставьте ключу на дропе Constant

Внимание

Ключ темы может пережить саму тему. Удалите тему, на которую ещё ссылаются ключи, и все эти кадры станут белыми. Сами ключи останутся. Перед удалением такой темы редактор переспрашивает

Как создать и изменить тему

Вкладка Темы среди ресурсов уровня показывает темы уровня. На ней есть Создать и Импорт. Щелчок по строке открывает Редактор темы:

  • Имя темы
  • Id темы и Пересоздать Id
  • сетка 8 на 8. Щелчок по ячейке выделяет её, показывает Цвет: с её номером и загружает цвет в круг под сеткой
  • Имя слота для выделенной ячейки

Редактор работает с копией. До сохранения в уровень ничего не попадает. Само сохранение - один шаг отмены

Как выбрать слот

Переключите цвет на Тема и откройте Выбрать цвет темы

Сетка показывает палитру такой, какой она смешана на кадре редактируемого ключа, а не под курсором времени. Рядом видны два ключа темы вокруг этого кадра и то, что лежит в выбранном слоте у каждого. Слот без имени подписан (без имени)

Как делиться и импортировать

  • Библиотека устройства. Экспорт в строке темы сохраняет её в resources/themes - общую библиотеку устройства, где resources лежит рядом с levels (см. Папка уровня и бэкапы). Библиотека тем показывает её и отмечает то, что уже В уровне. Удалить убирает тему из библиотеки. Импорт копирует тему в уровень, поэтому уровень никогда не зависит от вашей библиотеки
  • Темы игры. Выбор темы предлагает темы, которые поставляются с игрой, рядом с темами уровня
  • Afterbeat. Импорт .vgt превращает файл темы Afterbeat в тему уровня. Повторный импорт того же файла обновляет тему, а не создаёт копию. Экспорт .vgt пишет все темы уровня в выбранную папку, по файлу на тему. Прозрачность при этом теряется, потому что у цветов тем Afterbeat её нет. Обе кнопки скрыты на Android, iOS и WebGL (см. Импорт из Afterbeat)

Дальше: Цвет, темы и постобработка, Читаемость и честность