Темы
Тема - это палитра из 64 цветов, на которые объекты ссылаются по номеру слота. Как работают слоты, ссылки и ключи темы и как тему создать, передать и импортировать
Цвет типа Тема не хранит собственного цвета, только номер слота.
Он берёт то, что лежит в этом слоте у темы, активной на текущем кадре. Поменяйте тему, и всё, что на неё ссылается, поменяется вместе с ней
Чем это лучше вбитых цветов и как сохранить уровень читаемым при любой теме - Цвет, темы и постобработка
Что хранит тема
- Имя - видно в списках и окнах выбора
- Id,
ThemeId. Ключи темы ссылаются на тему по нему, а не по имени - 64 цвета в сетке 8 на 8, у каждого есть прозрачность
- Имя слота для каждого слота, по желанию. Пока вы не назвали ни одного слота, список имён в файл не пишется
Тема - это данные внутри level.json, а не файл в resources (см. Что нужно для уровня).
Тем в уровне может быть сколько угодно
Раскладка 8 на 8 повторяет раскладку Afterbeat. Игра не закрепляет за слотом никакой роли: собственная тема игры Balanced просто группирует свои 64 цвета по оттенку
Как цвет находит своё значение
В два шага:
- Дорожка
Темана таймлайне событий говорит, какая тема активна на этом кадре - Цвет типа
Теманазывает слот от 0 до 63 в активной теме
На тему могут ссылаться, например, цвет фигуры (каждый её угол отдельно), цвет текста и фон уровня
Позиция слота и есть его личность. Переставьте цвет в другой слот, и всё, что ссылалось на старый, перекрасится
Смена темы во времени
Между двумя ключами темы игра плавно смешивает всю палитру от одной темы к другой. Сглаживание берётся у более позднего ключа (см. Ключи и сглаживание)
Если ключей темы нет совсем, каждый слот белый
Новый ключ получает Linear, поэтому палитра плывёт на всём отрезке от предыдущего ключа темы до этого. Чтобы тема сменилась точно на дропе, поставьте ключу на дропе Constant
Ключ темы может пережить саму тему. Удалите тему, на которую ещё ссылаются ключи, и все эти кадры станут белыми. Сами ключи останутся. Перед удалением такой темы редактор переспрашивает
Как создать и изменить тему
Вкладка Темы среди ресурсов уровня показывает темы уровня. На ней есть Создать и Импорт.
Щелчок по строке открывает Редактор темы:
ИмятемыId темыиПересоздать Id- сетка 8 на 8. Щелчок по ячейке выделяет её, показывает
Цвет:с её номером и загружает цвет в круг под сеткой Имя слотадля выделенной ячейки
Редактор работает с копией. До сохранения в уровень ничего не попадает. Само сохранение - один шаг отмены
Как выбрать слот
Переключите цвет на Тема и откройте Выбрать цвет темы
Сетка показывает палитру такой, какой она смешана на кадре редактируемого ключа, а не под курсором времени.
Рядом видны два ключа темы вокруг этого кадра и то, что лежит в выбранном слоте у каждого. Слот без имени подписан (без имени)
Как делиться и импортировать
- Библиотека устройства.
Экспортв строке темы сохраняет её вresources/themes- общую библиотеку устройства, гдеresourcesлежит рядом сlevels(см. Папка уровня и бэкапы).Библиотека темпоказывает её и отмечает то, что ужеВ уровне.Удалитьубирает тему из библиотеки. Импорт копирует тему в уровень, поэтому уровень никогда не зависит от вашей библиотеки - Темы игры.
Выбор темыпредлагает темы, которые поставляются с игрой, рядом с темами уровня - Afterbeat.
Импорт .vgtпревращает файл темы Afterbeat в тему уровня. Повторный импорт того же файла обновляет тему, а не создаёт копию.Экспорт .vgtпишет все темы уровня в выбранную папку, по файлу на тему. Прозрачность при этом теряется, потому что у цветов тем Afterbeat её нет. Обе кнопки скрыты на Android, iOS и WebGL (см. Импорт из Afterbeat)