Polybrush - простой и быстрый 3D-редактор для трехмерных эскизов

RENDER.RU: Здравствуйте Арсений! По традиции расскажите немного о себе.

Арсений: Приветствую! Я уже 5 раз писал Making-Of для вас :) Это 6-ое интервью. Для всех, кто меня не знает скажу - мне 22 года, я студент, сейчас живу и учусь в Москве, не работаю. Занимаюсь CG с 12-ти лет, уже тогда у меня был серьезный подход! Начиная с 2006 я участвовал в еженедельном конкурсе по моделированию RNTC более 80 раз, пока не выиграл :) И на render.ru я тоже часто участвовал. В 16 получил авард на CGSociety, в 17 опубликовался с этой работой в Digital Art Masters. Вообще у меня много всяких публикаций и авардов, полный список есть на сайте Polybrush.org. Но больше всего я люблю анимировать, точнее, делать мульты, все в целом.

RENDER.RU: Сегодняшнее интервью посвящено программе, которую Вы создали в одиночку - “Polybrush”. Расскажите, как давно Вы решили создать собственный инструмент для работы в CG? Что подтолкнуло Вас к этому?

Арсений: Два года назад мне пришла в голову идея о том, что рисовать в пространстве было бы очень естесственно и быстро. Зачем моделировать, если можно рисовать? Почему нельзя просто оставлять мазки не на плоскости, а висящими в пространстве? Так можно нарисовать очень сложную сцену. Идея простая и программа должна была быть простой, я нарисовал концепт и начал программировать.

[концепт]

[одна из первых версий (панели file, view, modifs пустые)]

Трейлер последней версии:

RENDER.RU: Давно ли изучаете C++? Столкнулись ли Вы с нехваткой знаний в этой области во время работы над Polybrush? И как вообще решили замахнуться на программирование? Многие художники стараются пересекаться с ним как можно меньше.

Арсений: Ну, во-первых, я терпеть не могу программировать, и правда, как художник, пересекался бы с этим делом поменьше. Умение программировать дает много возможностей и идей, но мне не нравится процесс. Это скучно, мне жалко время.
Но вообще я поступал в универ на программиста с мыслью «буду делать игры». Первый семестр – простые программы на С, второй семестр C++, этим все закончилось. Лабораторные работы, консольные программы, ничего сложного. Так как мы занимались по книжке (думаю, препод сам не знает C++), то научиться основам получилось. После я продолжил писать на C++ сам, параллельно пробуя openGL. Добрая бабушка-математик вела семестр openGL в таком же духе курсе на третьем, но на тот момент мне это было уже не нужно.
Мне больше всего нравятся стратегии (возможно, вы помните мой фан-арт-мультик StartCraft Infested Medic), поэтому изначально я пробовал делать их, но для начала это было слишком сложно. Потом я объединился со старым другом (не программистом) Вячеславом Солововым (Gorislav), и мы пробовали делать игры вместе, но ничего не закончили.
Когда не хватало знаний, интернет всегда был под рукой. Я не видел больших трудностей с C++ или openGL.

RENDER.RU: Арсений, по какой причине Вы решили делать программу в одиночку, а не собрать команду единомышленников? Или поиск единомышленников в наше время - это не такая простая задача?

Арсений: Потому что это совсем несложно)) Берешь и пишешь, какие проблемы? Люди пишут, что нужно много математики, каких-то сверхестесственных знаний. Не знаю, мне кроме векторов ничего не потребовалось. Если я и буду расширять команду в ближайшее время, то скорее из-за того, что не люблю программировать и не хочу сильно погружаться в это дело. Программа простая, можно писать одному без проблем. Чуть больше 40 000 строк (моих, конечно), из чужих библиотек только wintab, openGL (GLUT) и Soil (для текстур, ведь каждая буква или иконка в программе - это полигон).

RENDER.RU: С какими трудностями пришлось столкнуться во время разработки? Не возникало ли моментов, когда опускались руки, и продолжать не было желания?

Арсений: Основные трудности были с подключением чужих библиотек, поэтому я их почти не использовал. С Wintab до сих пор проблемы, я просто не умею это делать. Давление пера никак не хотело работать. В такие моменты руки и правда опускались, это злит.
Мне проще написать все самому, чем разбираться. Поэтому весь интерфейс я написал с нуля сам. Кнопки, ползунки, палитра, вкладки, вообще все писал я. Ничего не было! Загрузчик obj тоже мой. Также большая трудность возникла с Remesh’ем, я переделывал его 5-6 раз, он все еще работает не идеально. Хотя первую версию написал за два дня :) Там много тонкостей, сложно сделать, чтобы внутри не было лишней геометрии, например.
Но самая большая сложность – закончить программу. Постоянно приходят новые идеи, иногда достаточно радикальные. И думаешь: «Потрачу всего пару дней и это будет уже совсем другая программа». И через пару дней снова такая же мысль...

RENDER.RU: Сколько времени заняла работа над проектом и сколько еще осталось до финала? Все ли удалось реализовать, или столкнулись с задачами, которые сейчас просто невозможно выполнить в одиночку?

Арсений: Как я уже сказал, идея появилась 2 года назад. Первый год я писал не очень торопливо, с большими перерывами. Например, когда я делал мульт Infested Medic, то вообще не трогал программу 4 месяца. Но последний год я не делал ничего, кроме программы, практически все было написано за это время. Идеи появлялись и появляются постоянно, но основной функционал уже готов. Я не планирую сильно затягивать бета-тестирование (хотя и буду его продлевать), это практически финальная версия (первая). Можно пользоваться. Все можно сделать в одиночку, если желание есть)
Так как идей много, я надеюсь добавить такие же радикальные и удивляющие новые инструменты в будущем.

RENDER.RU: Расскажите подробнее о Polybrush? Для каких задач можно использовать данный пакет, какие особенности его выделяют среди других программ и т. д.?

Арсений: Polybrush – это трехмерный Photoshop с кистями и слоями. Изначально он задумывался для эскизов, но вы можете использовать его при моделировании. Все зависит от кистей, они сильно упростят работу. Вы можете нарисовать в Polybrush несколькими мазками то, что в другой программе делали бы весь вечер. Так же в программе есть Remesh, использовать Polybrush для скульптинга.

Для упрощения объяснения, снова вспомните Photoshop и работу кистей в нем. Там есть образец, например, круг, который копируется по траектории и образует мазок. При этом он может изменять свой радиус и цвет в зависимости от параметров. Теперь представте, этот образец - трехмерный, и он копируется по трехмерной траектории, вы рисуете в пространстве. Параметров динамики кисти гораздо больше, поэтому изначально все они убраны, и оставлено только несколько. Вы можете сами добавить нужные настройки, комбинируя их в разном порядке. Эти настройки представлены в виде стека модификаторов, как, например, в 3dsmax. В качестве образца (формы кисти) вы можете использовать любой 3D-объект; кроме того, вы можете использовать одновременно несколько объектов внутри кисти. Вы можете добавлять параметры (модификаторы) для всех форм сразу или для отдельных из них. Также вы можете создавать кисти для скульптинга, это очень просто. Вы добавляете модификаторы в стек "Modify around", и кисть будет изменять не объекты внутри себя, а тот, на котором вы рисуете.

Художники могут сделать свой набор кистей перед проектом и быстро создавать сложные сцены. Это сильно сэкономит время по сравнению с работой в других 3D-редакторах. Все очень наглядно показано на видеотрейлере, а в 6-ти минутном уроке объяснена вообще вся программа. Есть еще одно очень приятное отличие – без кистей программа весит лишь 2 мегабайта.

RENDER.RU: Можно ли после работы в Polybrush экспортировать проект в другой 3D-пакет для дальнейшей его проработки?

Арсений: Polybrush использует Obj-формат для сохранения сцен и кистей. Все дополнительные параметры, не предусмотренные этим форматом (иерархия сцены, модификаторы) сохраняются в комментарии (это отключается). Большинство 3D-редакторов поддерживает Obj-формат. Поэтому вам не нужно даже каждый раз нажимать эскпорт, ведь комментарии просто игнорируются загрузчиком. Если нужно сохранять в другом масштабе или перевернуть оси, это можно настроить в Polybrush.
Дополнительных параметров совсем чуть-чуть, поэтому такая идея сохранения мне кажется очень оптимальной и удобной. Вы можете открывать сцены Polybrush в любой программе, без дополнительных действий.

RENDER.RU: Вы могли бы привести какие-то примеры концептов, сделанных в Polybrush, но не засвеченные в сети, может быть, какой-то небольшой эксклюзив для нас?

Арсений: Так как их рисовать очень быстро, я нарисовал специально несколько монстров:

[скриншоты из Polybrush]

RENDER.RU: Интересуют тех. требования к компьютеру для стабильной работы вашего приложения, у меня сложилось впечатление, что оно достаточно стабильно и не требует серьезных ресурсов для работы?

Арсений: Главное требование, для вашего же удобства – это графический планшет. Все-таки это программа для рисования. В остальном все зависит от сложности сцены, а запустить программу можно и на старом нетбуке. Как я уже говорил, это простая и очень маленькая программа.

RENDER.RU: Коллеги по цеху попросили уточнить у вас, стоит ли ожидать в ближайшее время хотя бы небольшого тутора по интерфейсу? Так же интересует вопрос, будет ли поддержка русского языка у программы, или он в принципе не предусматривался?

Арсений: Недавно я записал видеоурок, в котором показал принципы работы Polybrush и весь интерфейс.


Русский язык в принципе не предусматривался. Во-первых, большая часть CG-терминов не переводится и русский язык - это только запутает пользователей. Во-вторых, судя по статистике, на сайте 56% англоязычных пользователей и только 11.8% русскоязычных. Я лучше потрачу время на улучшение программы, чем на её перевод.

RENDER.RU: Поступают ли Вам предложения о помощи в развитии проекта? Какие планы на будущее?

Арсений: Из программистов мне предлагали только перенести на другие платформы и сделать сайт. Пока не думал об этом серьезно, пока мне удобнее развивать программу самому. В планах – еще 1-2 месяца (или больше) бесплатного бета-тестирования, я исправляю все баги (их совсем не много), делаю существующие инструменты удобнее, рисую примеры, делаю уроки, доделываю сайт. Дальше релиз платной версии, и я продолжаю разработку, добавлю новые инструменты. Большая часть новых идей касается более точного моделирования и Hard-sufrace моделирования, я буду развивать инструменты в этом направлении. Основное развитие будет в добавлении новых модификаторов, это еще сильнее увеличит возможности кистей.

RENDER.RU: Если после интервью вы получите предложение продать исходники и проект крупной компании за хорошие деньги, вы согласитесь? Возможно, уже поступали такие предложения?

Арсений: Мою программу уже заметили достаточно крупные компании (pixologic, lightwave), но не предлагали ничего подобного. Как я уже говорил, программировать я не люблю, поэтому я мог бы согласиться. Мне сложно отвечать на подобные вопросы, потому что для этого нужно еще понаблюдать за Polybrush хотя бы до конца бета-тестирования.

RENDER.RU: Сколько будет стоить ваше приложение когда работа над ним завершится?

Арсений: Это один из самых популярных вопросов! Не очень дорого, $20 - я хочу, чтобы люди покупали, а не ждали кряка.

RENDER.RU: Благодарим Вас за интервью, Арсений! Успехов Вам в разработке, будем следить за развитием программы “Polybrush”, потенциал у неё действительно большой!

Арсений: Спасибо за интервью, всем удачи в CG!

Официальный сайт программы: http://polybrush.org/

808 0 850 17
9
2016-04-21
В качестве дополнения даю ссылку на последний пример использования, мультик И на блог, тут же, на рендере http://render.ru/blog/arsdraw Спасибо!!!
2016-04-21
>Не очень дорого, $20да вы же экстримист подрывающий экономическую основу некоторых компаний
2016-04-21
10 из 10. Богата же наша страна на талантливых людей. Жаль с финансированием проблемы.
2016-04-22
Огогошечки....Буду следить....
2016-04-22
Для меня все это как то не реально, если бы я лично не знал автора, а мне бы кто то сказал, что художник, просто взял и начал изучать другую отрасль и сделал свой вполне конкурентоспособный продукт, я бы сказал что это сказки. Я очень рад за Арсения, это огромный труд, с большим удовольствием слежу за его проектом.
2016-04-22
Еще два года разработок и Pixologic будет рыдать кровавыми слезами)))
2016-04-23
Начну- ка я его учить сейчас. Через месяц будет в два раза больше функций и все их учить с нуля как-то неохота. Выучу основу, а потом буду знания дополнять новыми функциями
2016-04-26
> Программировать не люблю, но сделал все сам, включая UI.> C++ учил два семестра, но проблем c ним не вижу.Блин, да вы маньяк, батенька :)))
2016-05-01
Всем огромное спасибо!!! Я как раз выпустил новую версию))  http://render.ru/blog/arsdraw/3915
RENDER.RU