Использование GIMP GAP

Что такое GAP

GAP (GIMP animation package) — плагин к GIMP для покадрового редактирования видео и рисования мультфильмов. Он работает с серией пронумерованных файлов в формате GIMP (XCF), каждому из которых соответствует отдельный кадр. GAP поддерживает импорт из ряда видеоформатов и экспорт готового видео, морфинг, onion skin, bluescreen, работу со слоями.

Создание проекта

1. Создаём для нашего проекта отдельную папку. Проект будет состоять из очень большого количества файлов, так что это жизненно необходимо.

2. Создаём файл того же разрешения, что и будущий мультфильм, в файле организуем нужное количество слоёв. Пусть их будет, к примеру, два — слой с фоном (назовём его “Background”) и с движущейся картинкой (дадим ему оригинальное имя “Animation”). Сохраняем этот файл в наш каталог с GAP-овским проектом с именем типа “<что-нибудь>_000001.xcf” (это важно, с файлом, названным иначе, GAP работать не будет). Пусть будет scene01_000001.xcf, например.

3. Создадим последовательность кадров. Для этого выбираем пункт меню “Video → Duplicate Frames...” и в появившемся диалоге выставляем нужное нам количество кадров с помощью ползунка “Число копий”. Жмём “Ok”. Это действие создаст в каталоге с нашим проектом файлы типа scene001_000002.xcf, scene001_000003.xcf и т.д. — собственно, кадры будущего мультфильма (кроме первого — его мы уже создали на шаге 2).

4. Теперь нам нужна возможность навигации по кадрам. Для этого выбираем пункт меню “Video → VCR Navigator...”. Появляется окно с миниатюрами предпросмотра кадров нашего мультфильма и кнопками наподобие кнопок видеомагнитофона. Можно рисовать — конкретно в этом месте всё вполне интуитивно. Кнопками перемотки перемещаемся между кадрами, в окне с файлами <что-нибудь>_<номер кадра>.xcf рисуем. С превьюшками возможны групповые операции (выделение группы файлов тоже вполне интуитивное, по Shift-click/Ctrl-click).

5. Нарисовав очередной кусок, нажимаем на кнопку “Playback” (это которая со стандартным символом воспроизведения) в окне видеонавигатора. Запускается окошко, которое у меня называется “Videoframe Playback” (его же можно вызвать отдельно, через пункт меню “Video → Playback...”, но тогда надо будет явно указать диапазон кадров, который хочется просмотреть в движении, по умолчанию он просматривает диапазон от текущего файла до... текущего, что поначалу несколько... э... обескураживает). Выбираем нужное количество кадров в секунду (можно менять на ходу), смотрим, если всё устраивает — можно сохранять видеофайл.

Да, кстати. В этом же окне вроде бы можно наложить на картинку звук, но я ещё не пробовал это делать.

6.Создадим видеофайл. Выбираем меню “Video → Encode → Master Videoencoder”. Выбираем имя файла, количество файлов в секунду (выпадающий список “Скорость кадров”) и прочие свойства видео. В выпадающем списке “Encoder” выбираем программу для создания видеофайла (например, FFMPEG). При этом станет активной кнопка “Parameters”, и можно будет ещё порулить характеристиками будущего видео. Жмём “Ok”. В каталоге с проектом появляется видеофайл.

Морфинг

1. Создаём два файла, в каждом из них создаём ещё один слой помимо фона (не спрашивайте меня, почему GAP-овский морфинг не работает с однослойными файлами).

2. В новых слоях каждого файла рисуем начальную и конечную фазу движения.

3. Далее “Video → Morph...”, открывается диалог с контрольными точками и параметрами морфинга. В выпадающих списках в верхней части окна выбираем имена нужных слоёв — в правой части верхний слой одного файла, в левой — другого. В поле “Steps” вводим нужное число шагов. Мышкой натыкиваем одинаковые точки, т.е. определяем, что во что будет перетекать (здесь всё интуитивно, это тоже одна из немногих вещей, которые в GAP сделаны разумно и удобно). Жмём “Ok” — в окне, которое в диалоге морфинга было справа, появится несколько новых слоёв.

5. Идём в меню “Video → Split Image to Frames...”, вводим в появившемся диалоге параметры преобразования слоёв в кадры, жмём “Ok”. Получаем серию файлов, с которой GAP уже может нормально работать.

Одна беда — при вызове операции “Split Image to Frames” фон исходного файла становится одним из кадров мультипликации. Необходимо удалить этот кадр и добавить необходимый фон заново с помощью диалога "Move path...".

Onion skin

Рисовать мультфильм от руки очень тяжело без onion skin — программной имитации стола художника-фазовщика. В GIMP GAP эта функция включается следующим образом.

После того, как создана последовательность кадров, выбираем пункт меню “Video → Onionskin → Configuration...”. На какие параметры здесь надо обратить внимание?

1. Onionskin settings: выпадающий список “Reference mode” определяет, какие кадры будут “просвечивать” через текущий. Кажется, наиболее разумный вариант — “Bidirectional (double) +1 -1 +2 -2 +3 -3”. В этом случае для отображения выбираются предыдущий и последующий кадры, а также (если выбрано достаточное количество слоёв) следующие за ними в обе стороны. Поле “Onionskin layers” позволяет задать количество отображаемых соседних кадров (мы только что указали в настройке “Reference mode”, какие именно это будут кадры). Например, если в качестве варианта “Reference mode” выбран “Bidirectional”, то “просвечивать” будут предыдущий и последующий кадры. В поле “Frame Reference” вводим -1 (FIXME я понимаю все слова в описании этого поля, и несколько раз мне казалось, что я понимаю, что значит этот параметр, но каждый раз выяснялось, что я ошибался; так что примите как должное, что там должно стоять -1, или разбирайтесь сами; только поправьте эту страницу, если разберётесь). Галочка “Cyclic” определяет, будет ли под первым кадром просвечивать последний и наоборот. В поле “Stackposition” оставляем 0, и обязательно ставим галочку “From Top” — иначе onion skin будет под всеми остальными слоями, и видно его не будет. “Непрозрачность” — ещё одна подлянка. По умолчанию этот параметр равен 0, то есть слой onion skin абсолютно прозрачен. В смысле на ней (FIXME сквозь неё? метафора и фактический смысл тут расходятся) ничего не видно. Ставим комфортное для себя значение (я в своих экспериментах выбирал где-то 30—50).

Помните! Непрозрачность слоя с “просвечивающим” изображением по умолчанию умолчанию равна 0, если не поменять её, то этого слоя не будет видно.

Рядом с полем “Непрозрачность” есть ещё одно поле, всплывающая подсказка для которого выглядит как “Descending opacity for 2.nd onionskin layer”. Этот параметр действительно определяет именно то, что написано во всплывающей подсказке: он задаёт, какой процент непрозрачности первого слоя onion skin будет иметь её следующий слой. 0 в этом поле приведёт к тому, что не будут видны все слои, кроме первого; 100 будет означать, что видимость слоёв уменьшаться не будет.

2. Layer selection: здесь мы выбираем, какой слой предыдущего кадра будет отображать onion skin. Предположим, что у нас два слоя, фон с именем “Background” и слой с движущимися картинками с именем “Animation”. Тогда делаем следующее. В поле “Ignore BG-layer(s)” ставим 1, в выпадающем списке “Select Mode” выбираем режим “Pattern is equal to layername”, в поле “Выбрать шаблон” вводим “Animation”.

3. Убеждаемся, что в полях “Frame range” выбран нужный нам диапазон кадров. Жмём “Ok”.

Почти готово. Только вот что: перед тем, как начать рисовать, я рекомендую пройти в пункт меню “Правка → Настроить”, в открывшемся окне настроек выбрать вкладку “Интерфейс” и поставить галочку “Использовать динамические клавиатурные комбинации” в разделе “Клавиатурные комбинации”, а потом нажать “Ok”. Теперь, если нажать некоторую комбинацию клавиш при выделенном пункте меню, эта комбинация клавиш будет выполнять то же действие, что и этот пункт меню.

Зачем мы это сделали? Onion skin не обновляется автоматически, поэтому при переходе к следующему кадру нам каждый раз надо будет вызывать пункт меню “Video → Onionskin → Create or Replace”. Делать это с помощью мыши или планшета не слишком сподручно. Поэтому выделяем этот пункт меню и нажимаем выбранную клавиатурную комбинацию (у меня это Ctrl-R).

Привязка должна быть удобна для нажатия левой — в случае правшей — рукой, потому что в правой обычно зажат стилус планшета.

Можно рисовать!

Рисуем движущуюся часть первого кадра на слое Animation файла <что-нибудь>-000001.xcf (ну, короче, того файла, который у нас является первым кадром). Нажимаем в видеонавигаторе кнопку с зелёной стрелочкой вправо. Это переводит нас к следующему кадру. Перемещаемся в окно с самим изображением, и нажимаем на клавиатуре выбранную нами для пункта меню “Video → Onionskin → Create or Replace” клавиатурную привязку . Voilà! Мы видим нарисованное на первом кадре как бы сквозь слой подсвеченной снизу бумаги. При переходе к следующим кадрам делаем всё примерно так же.

Ещё один полезный пункт меню Onionskin это “Video → Onionskin → Toggle visibility”. Он переключает слой с onion skin для текущего кадра из видимого режима в невидимый и наоборот. Наверное, на него тоже удобно повесить клавиатурную привязку. Если хочется убрать onion skin для всех слоёв одновременно (например, перед экспортом видео), проще всего задать её непрозрачность равной 0 в диалоге “Video → Onionskin → Configuration...”.

Подкладывание фона под последовательность кадров

Внимание! Мне неизвестен способ удобной отмены описываемой операции!

Предположим, что у нас есть готовая последовательность кадров переднего плана и мы хотим подложить под неё какой-то фон. Для того, чтобы это сделать, надо предпринять следующие шаги.

1. Создаём файл такого же разрешения, что и кадры нашего фильма. Рисуем на нём необходимый нам фон.

2. Открываем диалог “Video → Move path...”.

3. На вкладке “Выбор источника” в выпадающем списке “Исходное изображение/слой” выбираем файл с фоном. В выпадающем списке “Пошаговый режим” выбираем “Цикл”.

4. На ползунках в правом нижнем углу диалога (”От кадра” и “До кадра”) выставляем диапазон кадров, под которые будет подложен фон.

5. С помощью ползунка “Стопка слоёв” указываем место добавляемого слоя среди уже существующих слоёв редактируемых кадров. При сохранении параметра по умолчанию (0) новый слой будет добавлен поверх всех прочих. Скорее всего, это не совсем то, чего вы хотите. Если в ваших кадрах всего один слой, достаточно выставить в поле “Стопка слоёв” единицу. Для того, чтобы добавляемый слой заведомо стал самым нижним, можно ввести в это поле что-нибудь вроде “9999”.

Диалог “Video → Move path...” позволяет также выставить непрозрачность добавляемого слоя.

Ссылки

Документации по GAP немного. Вот самые содержательные обучающие материалы.

Руководства на http://docs.gimp.org:

Using GAP

Advanced GIMP animation tutorial

Серия пошаговых руководств по обработке видео в GAP:

http://carol.gimp.org/gimp2/animation/gap/

Видеоурок по GAP на сайте Meet the GIMP!:

http://meetthegimp.org/episode-021-i-warp-and-more-fun-with-animations/

ToDo

  • Bluebox
  • Storyboard
  • Улучшение структуры и стиля текста

По материалам обсуждения на форуме

 
kb-animation-gimp-gap.txt · Последние изменения: 2008/10/06 23:31 yushi
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki