Замена палитры — классический способ, которым игры делают варианты врагов, цвета команд и альтернативные костюмы из одного набора кадров. В графических редакторах это муторно: инструменты замены цвета работают с допуском и пропускают оттенки. Здесь каждый отдельный цвет спрайта показан со счётчиком пикселей, и каждая замена точная: цвет везде становится ровно новым цветом, а больше ничего не меняется.
Как пользоваться инструментом «Замена палитры»
- Перетащите спрайт или лист. Перетащите несколько файлов сразу, чтобы перекрасить весь набор по одной схеме.
- Цвета спрайта перечислены от тёмных к светлым со счётчиками пикселей. Изображения с более чем 64 цветами сначала сводятся к палитре выбранного размера.
- Выберите цвет в списке или кликните по нему на изображении «До». Его пиксели подсвечиваются контуром, чтобы было видно, где он используется.
- Задайте новый цвет пипеткой или из готовой палитры либо нажмите «Привести все цвета», чтобы перенести весь спрайт на пресет.
- Ползунками тона, насыщенности и светлоты сдвиньте весь результат — это самый быстрый способ сделать вариант.
- Скачайте PNG, ZIP с пачкой, новую палитру в .hex или карту замены в JSON.
Что вы получаете
- Перекрашенный PNG того же размера и с той же альфой, изменены только заменённые цвета.
- ZIP с пачкой, где ко всем перетащенным файлам применена одна и та же схема.
- Палитра .hex с новыми цветами и карта замены JSON (из → в) для шейдера замены палитры в рантайме.
С какими движками работает
- Поставляйте заранее перекрашенные листы для каждого варианта или используйте карту замены JSON, чтобы собрать lookup-текстуру для шейдера замены палитры в Godot, Unity или GameMaker.
- Перекрашенные спрайты сохраняют размеры и раскладку кадров, поэтому существующие данные анимации по-прежнему подходят.
Советы из практики геймдева
- Меняйте рампы, а не отдельные цвета: тёмный, средний и светлый оттенки вместе, чтобы светотень продолжала читаться.
- Не меняйте цвет обводки между вариантами. Он держит силуэт.
- Для быстрого варианта врага попробуйте сдвиг тона на 90–180°, прежде чем подбирать цвета вручную.
- Приведение к готовой палитре — быстрый способ сделать так, чтобы арт из разных источников выглядел как одна игра.
Сценарии использования
- Варианты врагов и NPC: красный, синий и золотой слайм из одного листа.
- Цвета команд и скины игроков в мультиплеерных играх.
- Перевод готового арта в консольную палитру вроде NES или Game Boy.
- Сезонные и ночные версии тайлов и объектов.
Вопросы и ответы
Меняет ли он пиксели, которые я не заменял?
Нет. Замены — это точная замена цвета. Пиксель меняется, только если его цвет вы переназначили, поэтому сглаживание, альфа и все остальные цвета остаются как были.
В моём изображении сотни цветов. Можно его использовать?
Да. Изображения с более чем 64 цветами сначала сводятся к палитре OKLab выбранного размера, а затем вы меняете сокращённые цвета. Лучший результат даёт исходный настоящий пиксель-арт.
Можно применить одну замену ко всей анимации?
Да. Перетащите все листы или кадры вместе. Редактируете вы первый файл, а схема применяется ко всем при экспорте в ZIP.
Какие есть готовые палитры?
PICO-8, Game Boy, NES, Endesga 32, Sweetie 16, DawnBringer 16 и 32, CGA, 1-bit и шкала серого.
Что-нибудь загружается на сервер?
Нет. Перекраска полностью выполняется в браузере.
Можно автоматически создавать новые цветовые варианты?
Ползунки тона, насыщенности и светлоты сдвигают все цвета разом в OKLCh, сохраняя воспринимаемую яркость каждого оттенка, поэтому светотень переживает сдвиг.