С каждым годом роль медиатехнологий в передаче информации увеличивается. Как бы кому не хотелось, но постепенно текстовая информация уступает часть позиций графической и мультимедийной. Например, компьютерные презентации в учебном процессе стали нормой, а с увеличением скорости Интернета в содержании сайтов увеличивается доля графики. Причина этого в легкости восприятия такой информации. Кроме того, растут объемы информации, а, следовательно, должны появляться и способы ее более быстрого и легкого усвоения.
Современный человек должен не только уметь воспринимать информацию в «графическом виде», но и производить ее. Другими словами, в связи с развитием в обществе различных медиатехнологий важным становится вопрос их изучения уже на школьном этапе обучения. Поскольку компьютерная анимация является неотъемлемой частью медиатехнологий, изучение данных тем должно быть актуально для большинства общих курсов по информационными технологиям.
Разнообразие ПО для создания анимации весьма велико. Различен и его «уровень»: от простейших gif-аниматоров до профессиональных программ 2D и 3D-графики, где создание мультипликации является не единственной функцией.
При всем многообразии ПО, выделяется так называемая Flash-технология, которая в настоящее время является самой популярной, особенно в сети Интернет. Программа Flash является продуктом компании Adobe. На сайте компании существует возможность загрузить пробную (trial) версию программы или приобрести лицензию. Однако достаточно высокая цена лицензии и ограниченный 30 днями пробный период могут сделать затруднительным использование Flash в целях обучения.
Программа Synfig (
В уроках данного цикла в качестве средства обучения используется программа Synfig Studio (версия 0.61.09).
Цель цикла уроков «Введение в компьютерную анимацию» состоит не столько в изучении конкретного программного обеспечения, сколько в знакомстве обучаемых с принципами компьютерной анимации.
Демонстрационные материалы (презентации в формате .pdf) к трем урокам:
Представление об анимации имеет подавляющее большинство людей. Наверное, многие сразу представят какой-нибудь мультипликационных фильм (что-нибудь вроде «Шрека» или «Винни-Пуха»). Если попытаться навскидку дать определение, то можно сказать, что анимация — это движение рисованных изображений. Однако, как создаются эти движения?
Слова «анимация» и «мультипликация» означают одно и то же. На «западный манер» будем использовать первый вариант. Слово animation с английского языка можно перевести как оживление или воодушевление. Когда мы видим обычное рисованное изображение, которое, вдруг начинает двигаться и изменяться, то может действительно показаться, что произошло что-то невероятное, и картинка ожила. Но научное мировоззрение не позволяет нам поверить в это; поэтому обратимся к другому, логичному объяснению.
Если множество похожих изображений (рис. 1) быстро сменять друг за другом, то при определенной скорости смены человек будет воспринимать происходящее как плавное движение (или изменение) объекта на рисунке.

Оптимальная скорость смены для человека равна 24 изображения (или кадра) в секунду. На самом деле в одном кадре может присутствовать несколько изображений (слоев). Кроме того, может быть всего одно изображение, которое в каждом последующем интервале времени (кадре) будет смещаться на небольшую величину (такую простейшую анимацию можно наблюдать, когда создаются спецэффекты в компьютерной презентации).
Вопрос. Сколько рисунков потребуется сделать художнику для анимации падения стула за 3 секунды?
Из вышесказанного можно заключить, что создание анимации весьма трудоемкое занятие. Ведь зачастую каждый кадр требуется прорисовывать заново. Естественно, что с появлением современных компьютеров, начали появляться и программы, облегчающие и автоматизирующие труд аниматора. Кроме того, анимация созданная с помощью компьютеров нашла свое применение не только в создании мультфильмов. Она широко используется в Интернет, презентациях, электронных обучающих курсах и т.д. Обычно служит для целей облегчения восприятия информации, т.к. большинство людей основную долю информации воспринимает с помощью зрения. Однако перебор анимации, ее низкое качество могут ухудшить восприятие, отвлекать и раздражать человека.
Компьютерная анимация создается с помощью специальных программ. Их достаточно много. Условно можно выделить два или три вида ПО для создания анимации:
Существенное облегчение труда аниматора гарантируют лишь среды из пунктов 2. и 3, т.к. в случае gif-аниматоров используется уже готовое множество изображений. В профессиональных же средах компьютерной анимации художнику не обязательно прорисовывать каждый кадр или аниматору его фиксировать, программа сама «вычислит» переход изображения из одного положения в другое. Это называется твинингом (tweening) - процесс генерации промежуточных кадров между двумя рисунками, создающий впечатление, что первый рисунок постепенно превращается во второй. Рассмотрим, как это делается.
Представим временную шкалу (киноленту) как дорожку, состоящую из отдельных кадров. Допустим, что в кадре №1 объект должен находиться слева, а в кадре №100 — справа. Эти два кадра отмечаются как ключевые для данного объекта. В них он располагается в начале и конце движения (рис. 2). Все остальные кадры — промежуточные — не требуют фиксации объекта — изображение в них создаст компьютерная программа. Она сама вычислит, где и в какой момент должен находиться объект. Понятно, что если мы ходим сделать передвижение объекта по кривой, то и ключевых кадров придется сделать больше (или использовать специальные средства, предоставляемые программой, для создания траектории).

Вопросы. Подумайте, можно ли анимировать с помощью твининга поворот объекта? изменение его размеров? перемещение части относительно всего объекта (например, руки относительно тела)?
В качестве программы для создания анимации рассмотрим Synfig Studio — графическую «оболочку» к программе Synfig, позволяющей создавать векторную 2D-анимацию (рис. 3). После запуска открываются четыре плавающих окна (если установки были «по-умолчанию»).

В первом окне расположены стандартная панель, инструменты для рисования, настройки цвета и толщины контура.
Во втором окне располагается холст. В этом окне меню не видно, однако его можно вызвать, щелкнув правой кнопкой внутри рабочей области (только не по нарисованному объекту) или на маленьком треугольнике в верхнем левом углу.
Нижнее и правое окна объединяют в себе целый ряд панелей. Панели можно вытаскивать за пределы плавающего окна, закрывать. Если потребуется вернуть все в первоначальный вид, то следует выбрать в меню первого окна File ? Panels ? Reset Windows to Original Layout (перезагрузить окна в первоначальное расположение).
Задание. Запустите программу Synfig Studio. Попробуйте вытаскивать из окон панели, закрывать и открывать их. Верните положение панелей в исходное состояние.
Для того, чтобы приступить к созданию анимации неплохо бы научиться создавать какое-нибудь изображение в Synfig. Мы не будем изучать все инструменты, т.к. это не цель нашего урока; ограничимся лишь прямоугольником (Rectangle), кругом (Circle) и многоугольником (Polygon). Создание таких фигур не сильно отличается от рисования их в большинстве графических редакторов, а вот перемещение и изменение объектов в Synfig происходит иначе.
После того, как фигуры изображены на холсте и выделены (с помощью инструмента Normal Tools), у них появляются метки, позволяющие изменять их размер и перемещать (рис. 4).

Так, прямоугольник имеет две зеленые метки: в верхнем левом углу и нижнем правом. За эти метки можно менять размер прямоугольника. Для перемещения следует выделить обе метки. После этого можно перемещать объект, потянув за любую из меток. Для выделения двух и более меток существует два способа. Первый заключается в поочередном их выделении при зажатой клавиши Ctrl. Второй способ — это выделение области, включающей необходимые метки, с помощью Normal Tool, т.е сначала выделяется прямоугольник (щелчком левой кнопкой мыши), а затем метки (с помощью рамки выделения).
Работать с эллипсом намного проще, чем с прямоугольником. Центральная метка служит для перемещения, а расположенная на окружности — для изменения размера.
Рисование многоугольника заключается в щелканье левой кнопкой мыши в предполагаемых его вершинах. В конце необходимо щелкнуть по первой метке (для того, чтобы контур замкнулся). После того, как прямоугольник нарисован и выделен, его метки можно перемещать, меняя тем самым контур фигуры. Если требуется переместить всю фигуру, то сделать это можно с помощью зеленой метки. Однако, она часто оказывается далеко от фигуры. Чтобы, скажем, поставить ее в центр необходимо выделить все метки многоугольника (также как в случае прямоугольника) и перетащить на зеленую метку.
Чтобы задать цвет будущей фигуры необходимо щелкнуть по верхнему прямоугольнику цвета на панели инструментов (рис. 5а). После этого откроется диалоговое окно Colors, где можно настроить цвет заливки. Доступны цветовые модели RGB и YUV. Здесь же можно настроить прозрачность объекта (Alpha).

Изменить цвет уже нарисованной фигуры можно двумя способами. Первый способ: выделить объект и на панели Params (параметры), расположенной в нижнем окне, изменить свойство Color (рис. 6). Второй способ: изменить цвет на панели инструментов (рис. 5а), а затем, выбрав заливку (Fill Tool), щелкнуть по объекту.

Задание. Создайте на холсте изображения красного круга, желтого прямоугольника и синего многоугольника. Попробуйте перемещать объекты и менять их размер или форму.
У объекта, нарисованного последним, немного уменьшите значение Alpha, а затем переместите на любой другой объект (другими словами, добейтесь пересечения объектов). Объясните увиденное.
На прошлом уроке мы лишь говорили об анимации, пробовали рисовать в программе Synfig Studio; сегодня приступим непосредственно к созданию анимации.
В Synfig Studio изначально включен «режим рисования», в котором создаются и изменяются изображения. Однако эти изменения не будут «превращены» в анимацию. Можно сказать, что в данном режиме объекты подготавливаются. Для того, чтобы любые изменения объектов были обработаны как анимация, необходимо переключиться в соответствующий режим. Для этого в программе Synfig Studio предназначена зеленая кнопка в нижнем правом углу Рабочего окна (рис. 1). После этого вокруг холста появляется красная рамка, а на кнопке переключения будет изображен уже не зеленый шар, а красный. Для выхода из режима анимации достаточно еще раз нажать на эту же кнопку.

Задание. Нарисуйте изображение прямоугольника и переключитесь в режим анимации.
Итак, на первом уроке мы уже выяснили, что эффект анимации является результатом быстрой смены похожих изображений. Любые изменения протекают во времени, поэтому в Synfig предусмотрена панель Timetrack (назовем ее «шкалой времени»). Похожая панель есть в большинстве программ для анимации, однако может называться по-разному. Данная шкала в Synfig есть не только на панели Timetrack, но и в нижней части Рабочего окна. (рис. 2). Шкалу времени можно сравнить с кинолентой или фотопленкой, где в каждом кадре может быть запечатлено какое-нибудь изображение.

На шкале присутствуют деления, более крупные из которых помечены как 0f, 2s, 4s. F – это сокращение от frame (кадр), а s – от second (секунда). В каждой секунде 24 кадра (задано «по-умолчанию», но может быть иное значение кадров в секунду). Если щелкнуть в любом месте шкалы, то вы увидите линию, указывающую текущий кадр, также он будет указан в нижнем левом углу Рабочего окна (рис. 2а). Например, надпись 2s 13f в этом поле означает, что выделен 61 кадр (24+24+13). Следует отметить, что менять текущий кадр можно как в Рабочем окне, так и на панели Timetrack, а также вписать значение кадра в поле текущего кадра.
Задание. Попробуйте менять текущий кадр с помощью шкалы времени и поля в нижнем левом углу Рабочего окна. Сделайте текущим первый кадр третьей секунды, затем восьмой кадр второй секунды.
Как уже не раз было сказано, нам не обязательно прорисовывать каждый кадр. Достаточно лишь указать программе начальное «состояние» объекта и конечное. Все остальное программа попытается вычислить сама. Это начальное и конечное положение фиксируется в так называемых ключевых кадрах. На самом деле, их бывает намного больше двух, т. к. при достаточно сложном изменении объекта, программа не может корректно вычислить траекторию и характер изменения.
Для создания ключевых кадров в Synfig Studio предусмотрена панель Keyframes (рис. 3). На ней с помощью кнопки со знаком «+» можно добавлять ключевые кадры. В этих кадрах и будет зафиксировано изменение фигуры. В остальных кадрах оно будет вычислено.

Прежде чем приступить к анимации нашего «героя»-прямоугольника следует определиться со сценарием будущего мультфильма. Допустим с фигурой будут происходить следующие изменения, на каждое из которых будет уходить по 1 секунде (рис. 4):

Эти изменения и будут определять ключевые кадры.
Вспомним, что для перемещения прямоугольника без изменения его размеров необходимо выделить обе его метки (например, с помощью рамки выделения) и только потом перемещать за любую из них.
Задание.
Создав анимацию, хорошо бы ее посмотреть. Если зажать левую кнопку мыши и двигать ею по шкале времени, то можно наблюдать как изменяется фигура.
Задание. Попробуйте просмотреть анимацию таким способом.
Однако, так трудно увидеть все нюансы. Поэтому предварительный просмотр лучше выполнить другим способом: в Рабочем окне вызвать меню (треугольник в верхнем левом углу) и выбрать File ? Preview (рис. 5). Откроется диалоговое окно с настройками, их можно оставить «по-умолчанию». Далее нажать Preview. Откроется окно предварительного просмотра. Управляющие кнопки находятся внизу. Нажать Play.

Задание. Посмотрите анимацию прямоугольника в окне просмотра.
Все, что было сделано до этого, не сохранено на диске компьютера. Для того, чтобы сохранить файл достаточно выполнить стандартную операцию сохранения. При этом будет сохранен файл в формате программы Synfig; другими словами, будут сохранены данные, описывающие определенным способом объекты и их изменения. Чтобы получить изображение необходима специальная программа (ее включают многие графические процессоры, в том числе и Synfig Studio), осуществляющая преобразование, в данном случае векторного изображения (т.к. Synfig – векторная программа) в растровое. Этот процесс получения изображения называется рендерингом (от англ. rendering). «По-русски» можно сказать, что происходит визуализация изображения.
Но нам требуется сохранить не простой рисунок, а анимацию (множество изображений). Она может храниться во многих форматах (чаще, видеоформатах и формате flash-анимации), в том числе и одном графическом — GIF. В нем мы и сохраним нашу анимацию.
Для того, чтобы вызвать окно рендеринга в Synfig Studio необходимо в меню Рабочего окна (треугольник в верхнем левом углу) выбрать команду File ? Render. Откроется соответствующее диалоговое окно (рис. 6).

Поле Filename указывается адрес и имя файла (с расширением), кнопка Choose... вызывает диалоговое окно выбора папки. Осторожно: в Windows в адресе файла не должно быть русских букв, иначе сохранить не удастся (по-крайней мере, это справедливо для версии 0.61.09.).
Выпадающий список Target позволяет выбрать формат публикации.
Вкладка Image управляет размерами и некоторыми другими параметрами изображения.
На вкладке Time можно настроить количество кадров в секунду, начало и окончание анимации. Например, если у нас анимация прямоугольника длится всего четыре секунды, то следует исправить значение «по-умолчанию» 5s на 4s.
Кнопка Render запускает процесс рендеринга, который может длиться от нескольких секунд до достаточно продолжительного времени (в зависимости от сложности анимации и мощности компьютера). Сообщение о процессе рендеринга или его окончании можно увидеть внизу Рабочего окна (рис. 7).

Задание. Сохраните файл в формате программы Synfig и создайте анимированное изображение в формате GIF.
Слои в анимации можно представить как стопку просвечивающихся листов бумаги. На каждом таком листе может быть одно или несколько изображений (рис. 1). Такой механизм организации рисунка позволяет изменить одно изображение не затрагивая другое, а также упрощает математическую модель анимации. В результате размер готового файла становится меньше.

Еще одно неоспоримое преимущество слоев в компьютерной графике: их можно перемещать относительно друг друга, выдвигая на передний план то или иное изображение.
Несмотря на то, что на одном слое можно разместить несколько изображений, в Synfig Studio поддерживается идея «каждому примитиву отдельный слой». Поэтому новый слой автоматически создается при рисовании любой фигуры. Это неудобно для сложных изображений, например, изображения человека, которое может состоять из множества примитивов, а анимировать его необходимо целиком. Однако в Synfig можно группировать слои, а затем перемещать группу уже как единое целое.
Панель слоев «по-умолчанию» располагается в нижней части правого «плавающего» окна. Если нарисовать на холсте несколько фигур, то на данной панели будет отображен список слоев (рис. 2).

Имя слоя можно изменить. Для этого необходимо выделить слой, затем щелкнуть по названию, вписать новое имя и нажать Enter. Снятие флажка (слева) делает слой невидимым. Часто это бывает удобно при редактировании изображения. Кнопки в нижней части панели предназначены для управления слоями. Например, первые две (со стрелками) позволяют перемещать слои относительно друг друга.
Рассмотрим практическое применение слоев: допустим нам необходимо создать изображение, как на рисунке 3
.

Дом состоит из восьми прямоугольников, машина — из многоугольника и двух кругов, также на рисунке имеется изображение солнца в виде простого круга. После того, как данные изображения будут созданы, на панели Layers окажется двенадцать слоев (рис. 4.1). В таком виде понять, какой примитив, какому объекту принадлежит весьма затруднительно, а уж анимировать все это количество будет невероятно сложно. Поэтому объединим слои, формирующие дом в одну «капсулу», а машину — в другую. Для этого следует выделить слои всех «частей дома» (с помощью зажатой клавиши Shift или Ctrl) и выполнить команду Encapsulate (кнопка внизу панели Layers или через контекстное меню). Тоже самое необходимо сделать и по отношению к машине. Теперь картина слоев будет выглядеть немного лучше (рис. 4.2). Кроме того, неплохо бы переименовать слои (рис. 4.3). Следует иметь ввиду, что если щелкнуть по треугольнику слева от названия, то раскроется список слоев, входящих в объединение. Другими словами, фигуры все-равно сохраняют автономность, поэтому каждый элемент можно редактировать отдельно по-прежнему.

Задание. Нарисуйте в Synfig Studio изображения солнца, дома и машины. Объедините и переименуйте слои.
Вопрос. В чем будет заключаться разница в анимации, если слой «Дом» будет находиться над слоем «Машина»?
В Synfig Studio существует одна особенность при перемещении составного изображения.
Когда мы выполняем инкапсуляцию несколько слоев, то у этого, нового слоя появляется «точка центра», за которую возможно переносить изображение (рис. 5). Эта точка всегда оказывается в центре холста. Однако само изображение может быть сбоку. В этом нет ничего страшного, но иногда бывает удобнее, чтобы центр был в центре самого изображения. Рассмотрим, как можно переместить «точку центра».

Сначала необходимо раскрыть список слоев составного изображения на панели Layers. Выделить все вложенные слои и составной слой (рис. 6.1). С помощью инструмента Normal выделить все метки (легче это сделать с помощью рамки выделения) (рис. 6.2). Взять изображение за любую метку и переместить на центральную точку (рис. 6.3). После этого, уже за центральную точку можно перемещать изображение в любую часть холста.

Задание. Переместите центральные точки машины и дома в центр самих изображений.
Итак, все подготовительные мероприятия завершены и теперь следует приступить к самой анимации. Допустим, что по сценарию за 5 секунд машина должна переместиться от левой границы холста до правой, а солнце за это же время совершить путь от левой границе до центра. Причем машина пусть едет так, чтобы за 4 секунды доехать только до середины, а за последнюю одну секунду преодолеть весь оставшийся путь. Начальное положение объектов должно быть примерно таким, как на рисунке 3.
Этапы создания анимации:
Задание. Создайте анимацию по плану описанному выше. Посмотрите ее с помощью команды File ? Preview.
