FreePencil2 строит линеарт из 3D-модели в Blender одной кнопкой: 1,28 млн полигонов — меньше чем за 30 секунд
Японский аниме-продюсер и аниматор Масамунэ Сакаки выпустил обновление FreePencil2 — аддона, который получает контурный рисунок из 3D-модели в Blender без ручной настройки. Порядок работы сводится к трём действиям: открыть модель, нажать одну кнопку, получить линии. Плотность штриха регулируется ползунком уже после расчёта, собирать ноды и подбирать параметры обводки не требуется.
Ценность для художника здесь в скорости и в том, что аддон снимает самый трудоёмкий этап метода цветоразделения. По замерам разработчика, модель на 1,28 млн полигонов обрабатывается меньше чем за 30 секунд, танк на 420 тыс. полигонов — примерно за 19 секунд. В демонстрационном ролике обновления сцена из 155 частей просчитывается за 5,5 секунды.
Скорость идёт от простоты принципа
Аддон не выполняет тяжёлый расчёт контурных линий. Модель автоматически раскрашивается вершинными цветами, а границы между цветами вытаскиваются краевой детекцией в композиторе — этот приём известен как метод цветоразделения. Краевая детекция вычислительно дешёвая, поэтому обработка идёт быстро.
Сложность метода всегда была в подготовке — в том, как именно разбить модель на цветовые зоны. Соседние области со схожими цветами не дают границы, и линия не появляется; слишком мелкое дробление даёт шум; на плоских поверхностях возникают неестественные линии раздела; отдельно стоят стыки деталей и суставы риганутых персонажей.
Именно эту подготовку аддон берёт на себя:
- определяет угол разделения по распределению двугранных углов модели;
- раскрашивает граф смежности так, чтобы соседние области всегда попадали в разные цветовые классы;
- автоматически сливает мелкие области, из которых иначе получился бы линейный мусор;
- разводит по тону соприкасающиеся детали;
- определяет риг и делит модель по костям.
Последний пункт закрывает персонажный случай: при наличии арматуры раскраска ведётся по костям, грани, пересекающие сустав, не собираются в один остров, и при сгибании линии реже разрушаются.
Что изменилось в версии 2.7
Главная правка — порог, по которому определяется линия, по умолчанию снижен. Раньше часть границ до него не дотягивала, и линии на них не появлялись, хотя цветоразделение отрабатывало корректно: разница в яркости у близких сочетаний вроде голубого и белого оказывалась слишком мала. Автор приводит пример: линии такелажа парусника, которые прежде разрывались в пунктир, теперь выходят сплошными.
Изменение затрагивает и уже настроенные сцены. Прежний результат возвращается установкой «чувствительности линий» на шаге STEP3 в значение 1.0.
В этой же версии исправлены падения на крупных сценах, ускорена обработка моделей со множеством деталей, устранена неработающая маска-цвет в Blender 5.x и почернение файлов, сохранённых в новой версии и открытых в старой. Генерируемые ноды теперь выравниваются автоматически.
Совместимость, ограничения и где взять
Заявлена работа с Blender от 4.2 до 5.2, но ветки неравноценны. Рекомендуются 5.2 LTS и 4.5 LTS; в 4.2 поддержка ограниченная — вьюпортный композитор там не оценивает AOV, поэтому в живом предпросмотре линий не будет, хотя финальный рендер отрабатывает так же, как в других версиях. Blender 4.1 и более ранние не поддерживаются.
Известные ограничения перечислены в репозитории: прозрачные материалы с режимом смешивания BLEND переводятся в HASHED (настоящее стекло с преломлением аддон не обрабатывает); на моделях с большим количеством деталей разница яркости у части соседних областей падает вдвое и линии получаются бледными — эту проблему разработчик числит нерешённой; файл, сохранённый в 5.2, при открытии в 4.5 ломает работу композитора. Форму, число вершин, шарпы и швы аддон не меняет.
Исходный код FreePencil2 опубликован на GitHub под лицензией GPL-3.0-or-later: собрать аддон самостоятельно и пользоваться им можно бесплатно. Отдельно автор продаёт за 500 иен вариант с готовым ZIP, японским руководством, доступом к прошлым версиям и поддержкой в комментариях.
Почему такие аддоны растут именно вокруг Blender
Штатных путей получить контур в Blender два — Freestyle и модификатор Line Art для Grease Pencil. Оба считаются на процессоре и на сложных сценах работают тем медленнее, чем больше геометрии и пересечений, что осложняет предпросмотр линий в реальном времени. Для аниме-производства, где линия — основное изобразительное средство, такая математика упирается в дедлайн.
На этом фоне вокруг Blender сложился отдельный рынок обводки: коммерческие рендереры линий, сторонние сборки движка с переписанным NPR-рендером, аддоны рисованной стилизации вроде Pencil Pro от CGMatter. FreePencil2 занимает в этом ряду свою нишу за счёт другого компромисса — он, вероятно, проигрывает в точности честному расчёту видимости, но даёт предсказуемое время просчёта и отдаёт результат обычным рендер-проходом, который дальше уходит в композитинг.
Если тенденция сохранится, давление на штатные средства будет расти: чем больше студий и одиночных художников строят аниме-пайплайн в Blender, тем заметнее разрыв между тем, что редактор умеет из коробки, и тем, что уже делают сторонние разработчики. Открытая лицензия здесь работает на сообщество — реализованные в аддоне идеи автоматической разметки в принципе доступны для повторения и в других инструментах.
Что в FreePencil2 вам нужнее?
- Линеарт в один клик
- Автораскраска вершинными цветами