Сделал программу для конвертации пиксель арта в идеальный свг
По работе нужно было много конвертировать пиксель арта в векторный формат и не найдя адекватных решений решил сам написать мини прожку, ну и от сырого прототипа в консоли за пару недель дошел до юзабельной версии с приятным интерфейсом.
Основным запросом было, что бы финальный SVG не лагал в той же самой фигме, так как нашему дизайнеру нужно было размещать логотипы в брендбуке лендинге и прочее. По этому я в первую очередь бросил все силы на алгоритм, помог мне довести его до идеала некий Гарри Тсанг, (его линкед ин можете найти в репозитории кому надо) который довел мой имеющийся алгоритм до идеала.
Принцип его работы довольно прост - сначала алгоритм смотрит на всю картинку и группирует пиксели по цветам. Далее мы ищем контур что бы четко определить границы каждого такого кластера одинаковых цветов. За счет эффективного математического расчета поиск этих границ занимает буквально секунды. Далее алгоритм ищет все прямые участки и например если граница идет прямо на 100 пикселей, он не будет ставить 100 точек а просто проведет линию от одного угла до другого. И по сути алгоритм не просто копирует пиксели, а скорее интерпретирует их как набор логических форм, по этому на выходе получается чистый и оптимизированный SVG за минимально затраченное время.
В общем на данный момент десктопная версия пополнилась еще парой фичей вроде импорта целых папок и конвертирования в формат WEBP, с помощью этих фич я конвертировал весь набор арт ассетов сайта, это где то 670 картинок за минут 5-7, в вебп формат и сохранил их в то же место где находились исходники.
Так же запустил по советам многих сайт, все вычисления проходят прямо в вашем браузере а не на сервере что позволяет проге быть почти полностью бесплатной.
Веб-сайт проги - https://glorp.art
На этом же сайте вы можете найти ссылки на репозиторий и страницу на итаче с готовым билдом
Программа полностью Open-Source и free to use
Лига Разработчиков Видеоигр
9.7K постов23.3K подписчика
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"