Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Yuriy Al. Shirokov ([info]yushi)
@ 2009-02-28 17:38:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Музыка:Аквариум --- Трамвай

Synfig
Разные знакомые интересуются, что такое Synfig.

Synfig — это формат векторной анимации и одноимённая программа для его рендеринга. В отличие, скажем, от Flash, Synfig с самого начала задумывался как средство создания мультфильмов кинематографического качества. Для работы с Synfig используется программа Synfig Studio.

История Synfig, насколько я успел разобраться, чем-то напоминает историю Blender: мультипликационная студия создавала формат и программу для собственных нужд, потом студия закрылась, а программу выпустили под GPL. Возможно, поэтому интерфейс Synfig, как и интерфейс Blender, больше ориентирован на экономию сил и нервов опытного пользователя, а не на освоение методом тыка. Хотя до эзотеричности Blender ему, конечно, далеко.

И тем не менее, желающим попробовать делать мультфильмы в домашних условиях с помощью свободного софта я рекомендую именно Synfig и Synfig Studio. Попробую объяснить, почему.

Свободных средств создания мультфильмов довольно много. Но большинство из них — растровые редакторы, авторы которых стараются имитировать рабочий стол художника-мультипликатора, работающего с бумагой: ключевые кадры как бы "просвечивают" сквозь фон текущего кадра, каждый новый кадр надо рисовать с нуля (хотя cut-n-paste, конечно, никто не отменял). Я в своё время потратил довольно много времени, разбираясь с, пожалуй, самым мощным (и самым неудобным) из таких средств — GIMP GAP. По итогам появилось даже что-то вроде краткой справки по наиболее полезным его возможностям: http://wiki.linuxgraphics.ru/doku.php?id=kb-animation-gimp-gap (усилиями [info]prokoudine@lj, в основном UPD: самоорганизовалось), но даже в GIMP GAP создание сколько-нибудь длинного и содержательного мультфильма требует слишком много усилий, чтобы быть скорее развлечением, чем работой.

Synfig, как уже было сказано — векторный формат, поэтому рисовать от руки в Synfig Studio не так удобно, как в растровых редакторах. Зато собственно анимацию в нём делать — одно удовольствие: не нужно рисовать от руки кадр за кадром, вместо этого мы задаём положение контрольных точек каждой фигуры в ключевых положениях, а программа дорисовывает все промежуточные кадры сама. Причём можно определить, как именно будут вычисляться промежуточные положения, например, привязать контрольные точки к произвольным сложным траекториям.

Возникает, правда, другой вопрос — как с помощью Synfig Studio делать мультфильмы, более или менее похожие на настоящие, а не просто рисовать движение кругов, прямоугольников и прочих векторных примитивов? Я нашёл в документации на программу два способа, которые показались мне подходящими.

Первый — это перекладки (cut-out animation). Рисуем персонажа в каком-нибудь растровом редакторе (или рисуем на бумаге и сканируем), потом выделяем части, которые будут двигаться самостоятельно, и сохраняем каждую в отдельный файл. Открываем эти файлы в Synfig Studio, собираем из них персонажа обратно, связываем контрольные точки разных частей таким образом, чтобы персонаж двигался согласованно, двигаем. Это чем-то напоминает работу с марионеткой, только удобнее, потому что не в реальном времени. Процесс подробно описан вот здесь: http://synfig.org/Cut-out_Animation

Вот такого персонажа я нарисовал в GIMP и анимировал в Synfig Studio с помощью этой техники.


Vimeo: http://vimeo.com/3405850
YouTube: http://www.youtube.com/watch?v=vMKr-weS-To
Synfig-файл: http://yuriy.shirokov.googlepages.com/cutout.tar.gz

На сайте программы есть гораздо более удачные примеры, но я специально использую в этом посте собственноручно созданные видео, чтобы вы убедились: мультипликация в Synfig Studio действительно доступна каждому. У меня нет никакого художественного образования, на то, что я рисую от руки на бумаге, страшно смотреть (и не потому, что я рисую только ужасы), а вот результаты моих экспериментов с Synfig моему ребёнку, по крайней мере, нравятся. А дети постарше могут рисовать такие мультфильмы и сами (дошкольникам, всё-таки, лучше посмотреть в сторону чего-нибудь типа GCompris). Это очень просто и, главное, быстро.

Видео короткие, но надо понимать, что большая часть времени при их создании ушла на сборку персонажа, а дальше за считанные минуты можно было разметить движение хоть на час итогового видео, просто в данном случае это не нужно.

Второй способ — трассировка нарисованного от руки с помощью кривых Безье. По идее, можно делать это автоматически в Inkscape и потом конвертировать в Synfig, кто-то добрый сделал для этого XSLT-файл. Но у меня так и не получилось заставить эту схему работать, а кроме того, у ручной трассировки в Synfig Studio есть важные преимущества. Проводя кривые Безье от руки, можно обойтись гораздо меньшим количеством узлов, что, во-первых, упрощает описание движения, а во-вторых, облагораживает очертания трассируемого предмета, зачастую очень сильно (что особенно актуально для тех, кто не умеет рисовать, как я).

Вот этого дракона я, опять же очень быстро, нарисовал с помощью кривых Безье.


Vimeo: http://vimeo.com/3405978
YouTube: http://www.youtube.com/watch?v=3fUBs3rVA_U
Synfig-файл: http://yuriy.shirokov.googlepages.com/draco_animated.sifz

Техника очень простая: рисуем от руки в растровом редакторе (или, опять же, рисуем на бумаге и сканируем) персонажа или предмет. Открываем получившийся растровый файл в Synfig Studio и воспроизводим нарисованное с помощью инструмента BLine Tool. Удаляем исходную картинку, описываем движение, двигая контрольные точки.

Процесс описан, например, вот здесь: http://synfig.org/Walk_Cycle

Вот как выглядел исходный эскиз, нарисованный в GIMP с помощью планшета:


Обратите внимание, что нарисовано довольно убого и кривенько. Ещё раз напоминаю: чтобы делать в Synfig Studio относительно прилично выглядящие мультфильмы, в общем-то, необязательно быть профессиональным художником. Вот так выглядит процесс трассировки:


Как видите, кривых понадобилось не так много. Кстати, чем их меньше, тем обычно эстетичнее итоговое изображение.

Важная деталь: я не нашёл, как без прыжков с бубном добавить заливку к уже существующему контуру, поэтому лучше сразу создавать заполненные контуры, а чтобы заливка не мешала при трассировке, просто делать её невидимой. Кстати, подобных граблей в Synfig Studio разложено на удивление мало. Интерфейс продуман и логичен, общее впечатление куда лучше, чем, скажем, от интерфейса того же GIMP. Всё, что мне кажется недостатками — это, пожалуй, многооконность, как и у GIMP (хотя я-то лично пользуюсь мозаичным оконным менеджером, который сводит на нет многие недостатки многооконных интерфейсов) и наличие двух режимов: рисования и анимации. Да простят меня фанаты vi и GNOME HIG, но всё-таки Раскин прав: с точки зрения юзабилити режимы это кошмар, в хороших интерфейсах их очень мало или нет вообще. Однако общее впечатление очень приятное. И хотя, повторюсь, прежде чем садиться рисовать в Synfig Studio полнометражный мультфильм, лучше проглядеть документацию хотя бы по диагонали (просто чтобы не тратить недели труда на то, что программа позволяет сделать в один клик), в целом кривая обучения выходит довольно пологой, в том числе на начальном этапе (что, увы, редкость для свободных программ).

Кстати, о документации: она, на мой вгляд, очень хороша. На вики проекта ведётся работа по её переводу на русский язык: http://synfig.org/Documentation.ru

В общем, на мой взгляд, Synfig Studio это отличная программа для домашних экспериментов с мультипликацией. Возможно, не только, как-никак этот инструмент пришёл к нам из мира мультипликации профессиональной, и кое-какие его возможности (например, основанный на XML формат, что должно быть удобно, например, при хранении файла в системе контроля версий) могут быть очень полезны именно при работе с большими проектами. Но то, что с ней интересно экспериментировать дилетанту, я проверил на собственном опыте.
Creative Commons License
Видео и исходные файлы в формате Synfig, использованные в этом посте, а также сам пост, доступны на условиях лицензии CC-BY-SA (разрешается распространение и модификация при условии ссылки на автора и сохранения свободы производных произведений).



(Добавить комментарий)


[info]xinm
2009-02-28 18:01 (ссылка)
А чем плоха многооконность GIMP? Все об этом говорят, но что конкретно плохо - никак не пойму.

(Ответить) (Ветвь дискуссии)


[info]yushi
2009-02-28 18:25 (ссылка)
Путаешься. Например, в средах с панелью задач, типа KDE, когда открыта масса пекрывающих друг друга окон, однооконное приложение при тычке в панель задач всплывает наверх полностью, а многооконное нет. Окна приложения перекрывают друг друга, надо совершать лишние тычки мышью для доступа к ряду элементов интерфейса. Труднее найти нужный инструмент: даже если окна не перекрываются, зрительное поле получается агрессивнее, да и не сразу понятно, что к приложению относится, что нет.

Часть проблем я решил путём миграции на Awesome, где окна в принципе не перекрываются и занимают всю площадь экрана. Но всё равно с однооконными приложениями проще.

(Ответить) (Уровень выше)


[info]prokoudine.livejournal.com
2009-03-02 19:25 (ссылка)
Ну и при чем там я? Я всего-то разметку малость причесал :) Убери, а? :)

(Ответить) (Ветвь дискуссии)


[info]yushi
2009-03-02 20:17 (ссылка)
O'k, убрал.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]prokoudine.livejournal.com
2009-03-02 20:24 (ссылка)
Кстати, не хочешь в старый тред на линуксграфиксе ссылку на этот постинг повесить? :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yushi
2009-03-02 21:22 (ссылка)
В смысле, в тот самый, где я спрашиваю про софт для рисования мультфильмов? Ну, если ты считаешь, что это кому-нибудь может пригодиться, то могу.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]prokoudine.livejournal.com
2009-03-02 21:31 (ссылка)
Да, я про тот самый тред :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2009-03-02 22:55 (ссылка)
Да, пригодилась.

(Ответить) (Уровень выше)


[info]svonz
2009-03-09 02:22 (ссылка)
Юра, с днем рождения!

(Ответить) (Ветвь дискуссии)


[info]yushi
2009-03-09 02:25 (ссылка)
Спасибо!

(Ответить) (Уровень выше)


[info]bujhm
2009-04-29 14:17 (ссылка)
Туктук. Можно вопрос по LJR?

(Ответить) (Ветвь дискуссии)


[info]yushi
2009-04-29 14:24 (ссылка)
Разумеется.

Попробую поиграть в телепата: http://lj.rossia.org/~tiphareth/1205914.html не является ответом на твой вопрос, случаем?

Если коротко: мы сейчас забанены СУПом и вся связность с ЖЖ потеряна. Каких-то разъяснений от супового начальства пока добиться не удалось.


(Ответить) (Уровень выше)


(Анонимно)
2010-02-24 13:58 (ссылка)
Спасибо! :)

(Ответить) (Ветвь дискуссии)


[info]yushi
2010-02-24 15:41 (ссылка)
Пожалуйста.

(Ответить) (Уровень выше)