Случайно наткнулся на такую штуку — редактор пиксельарта с использованием векторных инструментов. Пока есть некая оче ранняя альфа-версия. Можно только за денежку попробовать. Возможно кого-то вдруг заинтересует!
- 17 февраля 2018, 13:56
- 05
Случайно наткнулся на такую штуку — редактор пиксельарта с использованием векторных инструментов. Пока есть некая оче ранняя альфа-версия. Можно только за денежку попробовать. Возможно кого-то вдруг заинтересует!
Это, а можно вкратце в чём суть/новизна подхода? Я как-то сходу не врубился.
Я не пробовал, точно не знаю. Но насколько могу наблюдать, то можно что-то с помощью кривой нарисовать, она будет пиксел-пёфект, а потом если что - кривую двигать снова, и потом опять всё будет пиксельно-идеально растеризовано. То есть всё нарисованное сохраняется в т.ч. в векторном виде, и если что можно просто кривые двигать, а не пиксели стирать/добавлять.
Привет всем!
Я идейный вдохновитель и один из авторов Odanako! Спасибо вам за интерес к редактору, это сподвигает на дальнейшую разработку.
summer_triangle всё верно объяснил: это набор векторных инструментов, которые дают растровый pixel-perfect результат. Исходный вектор сохраняется всегда, в том числе внутрь png (в метаданные) Основной смысл - скорость и удобство при работе со сложными формами. Именно, чтобы править кривые, а не отдельные пиксели. Другое назначение (до которого мы пока не добрались, но скоро) - это анимация. За счёт вектора можно будет легко использовать твины, в том числе шейп-твины и скелетную анимацию. Преобразования (вращение / масштабирование / искажение) тоже проще накладывать на исходный вектор, а потом растеризовать заново. Ну и до изометрии обязательно позже доберёмся.
С удовольствием отвечу на вопросы, если что-то интересует.
--
Артур
Привет!
А вот, кстати, с заливкой нормально всё работает? Или это грядущие дела?
И вообще, конечно, интересно - если планируется анимация, то насколько используемый подход будет удобен, скажем, если на спрайте нужно разместить именно отдельные единичные пиксели или кластеры пикселей. Ведь при анимации они могу исчезать или существенно видоизменяться.
Ну, в любом случае, удачи Вам в разработке!
С заливками всё и хорошо и плохо одновременно. Хорошо - потому, что они есть. Причём, такие, как мы хотели: это не flood fill, а "честная" закраска области, ограниченной замкнутой кривой, с учётом всех пересечений. Вот единственная гифка, которая частично заливку демонстрирует:
Плохо то, что области не всегда определяются идеально и иногда появляются лишние пиксели на границах:
Починим, разумеется.
Что касательно анимации - трудно что-либо говорить не попробовав, так что мы сами ещё не знаем как оно точно всё будет. Пока скажу лишь, что контроль на уровне отдельных пикселей мы всё равно сохраним. Как минимум, твины будут накладываться на отдельные шейпы / кривые. Таким образом, какая-то кривая может изменить форму (и, следовательно, поменять пиксельный состав), а другая в тот же момент просто сдвинуться - тогда все её пиксели останутся на месте относительно друг друга.
Вообще, стоит помнить, что с математической точки зрения прямая - это вырожденная кривая Безье. А точка - это вырожденная прямая. Так что везде, где можно рисовать кривые Безье, можно оперировать и прямыми и отдельными точками. Наш редактор не исключение.
Тут в целом, мы как модель рассматриваем, конечно же, Flash, т.к. он - устоявшийся стандарт в плане инструментов и подхода в векторной анимации. И частично Moho (Anime Studio) от Smith Micro Software. Они, впрочем, тоже отталкивались от продукта Macromedia при создании своей программы.
И спасибо за пожелание, удача нам явно понадобится. Хоть мы и перестали полагаться только на неё в разработке ещё лет пятнадцать назад. ;)
--
Артур
Понятно. Ну интересно. Вообще ещё любопытные перспективы, если это дело интегрировать с физикой. У вас в группе ВК видел примерчик как раз с колебаниями нити как раз-таки.
Box2D точно прикрутим. Над другой физикой будем думать. Или кто-нибудь ещё подумает, т.к. API для плагинов мы предоставим. :)
Почему же именно Безье? Есть и прочие сплайны, которые стоит попробовать.
Всё верно, прямая - это, конечно же, вырожденная любая кривая. У нас в редакторе используются только Безье, поэтому я ненароком сузил определение.
Прочие параметрические кривые могут быть интересны, но если под них найдутся задачи. Пока в двумерной векторной графике общепринятым стандартом является именно Безье и чтобы заставить художников пользоваться, к примеру, непривычными NURBS нужны веские причины. (сказал человек, заставляющий художников рисовать пиксель-арт векторными инструментами) Отдельной проблемой будет совместимость с распространёнными векторными форматами (svg, eps), которые, ЕМНИП, в качестве кривых используют именно кубические Безье. А мы их собираемся импортировать-экспортировать.
Так что пока мы до 3D не добрались, лично мы остановимся на Безье. А там - API будет предоставлять доступ к исходному вектору на чтение и запись и, возможно, кто-нибудь напишет крутую реализацию других сплайнов.