# Оптимизация анимации для ее экспорта во Flash

Несколько советов для совместной работы Moho и Flash

Среди многих других форматов экспорта анимации, предлагаемые программой Moho, существует также возможность экспортирования инимации в формате SWF. SWF - это формат, созданный компанией Macromedia и предлагающий один из способов представления векторной графики и интерактивных приложений. Flash-анимация широко используется в интернете, поэтому у многих пользователей уже установлены Flash-проигрыватели. Поскольку Moho тоже основана на векторной графике, существует достаточно сходств межну ней и Flash, что делает возможным беспроблемное экспортирование анимации в формат SWF.

Тем не менее, Moho и Flash совместимы неполностью. Вследствие этого во возможности Moho могут быть успешно экспортированы во Flash. В дополнение ко всему, поскольку Flash является веб-форматом, здесь очень важен размер файла - в связи с этим если вы собираетесь экспортировать анимацию во Flash, то при работе в Moho следует учитывать целый ряд важных тонкостей.

При экспорте в формат SWF вы возможно захотите использовать авторские инструментальные средства Macromedia Flash для объединения нескольких SWF-файлов, добавления дополнительных элементов, звука и пр. Обратите, однако, внимание на то, что SWF-файлы, созданные в Mohoсовместимы только с Flash MX и более поздними версиями - Flash 5 и более ранние версии Flash не смогут загрузить SWF-файлы, созданные в Moho.

## Что можно экспортировать

Наиболее часто экспортируемые во Flash объекты включают следующие:

- векторные слои
- заливки/контуры/цвета
- прозрачность
- градиенты
- линии различной ширины (используйте их осторожно)
- искажение векторных слоев при помощи костей
- графические слои (только PNG и JPEG, и только если они искажены слоем кости)
- слои частиц (осторожно - сложные эффекты частиц замедляют проигрывание и увеличивают вес файла)
- звуковая дорожка может быть экспортирована если она находится в формате MP3, и частота ее либо 44100kHz, 22050kHz, либо 11025kHz

## Что нельзя экспортировать

С другой стороны, некоторые свойства Moho не совместимы с Flash и, соответственно, не могут быть экспортированы в формате SWF. Следующий список содержит самые основные из этих объектов и эффектов:

- кисти
- эффекты заливки и линий (кроме градиентов)
- эффекты слоя (тени, оттенки, размытие слоя, размытие движений и др.)
- искажение изображения или движения в трехмерном пространстве на графических слоях
- графические слои, использующие прогрессивные изображения в формате JPEG (Flash не может обрабатывать прогрессивные изображения в формате JPEG)
- маскировка слоев
- 3D-слои

## Как создать качественный Flash-файл

Если вы создаете анимацию с намерением экспортировать ее в SWF-файл, вам следует учесть несколько важных вещей. Одна из них - размер файла, который должен быть минимальным. Чтобы этого достичь, необходимо "оптимизировать" как можно болеше слоев. При экспортировании в SWF-файл оптимизированный слой занимает меньше места, чем неоптимизированный. (Для других же форматов, таких как QuickTime или AVI это не имеет значение). Оптимизированный слой помечается красной точкой слева от пиктограмки слоя в окне слоев:

Обратите внимание на красную точку оптимизированного слоя.

Новый слой уже оптимизирован, однако в зависимости от примененных эффектов оптимизация может исчезнуть. Ниже приведен список действий, "деоптимизирующих" слой. Примечание: неоптимизированный слой все равно будет экспортирован во Flash, однако он будет недостаточно эффективен.

- движение камеры в трехмерном пространстве (это деоптимизирует все слои в проекте, поэтому если вы собираетесь экспортировать вашу анимацию в формате SWF, данный эффект не следует использовать)
- вращение 3D-слоя (вращение по оси X или Y, или же преспективное вращение)
- разрезание слоя
- групповой слой, содержащий трехмерное вращение или разрез слоя, что деоптимизирует все его подслои
- неровное масштабирование в направлениях по оси X и Y
- анимация узлов
- анимация костей (см. ниже)

Анимация костей является наиболее частой причиной деоптимизации слоев. Это происходит потому, что Flash не имеет систему костей, как Moho, поэтому Moho приходится экспортировать много дополнительной информации, чтобы Flash могла создать такой же эффект. Единственный способ использовать анимацию костей и в то же время не терять оптимизацию - прикрепить векторный слой к кости вместо того, чтобы позволить кости исказить все узлы векторного слоя. В таком случае веторный слой останется оптимизированным. Естественно, это невозможно сделать везде, где используются кости - в большинстве случаев персонаж разбивают на несколько частей - соответственно, некоторые части будут оптимизированы, некоторые - нет.

Вот еще несколько вещей, о которых не нужно забывать при экспорте анимации в формат SWF:

- используйте в своей анимации более низкую частоту кадров (12 кдров в секунду, например). Меньшее количество кадров означает меньший размер файла.
- много места может сэкономить отсутствие анимации на некоторых слоях, отсутствие перемещения/масштабирования/вращения слоя.
- если слой неподвижен, за исключением одного маленького объекта, то этот объект лучше вынести на отдельный слой. Например, персонаж, который машет рукой, т.е. двигается только рука - эту руку нужно вынести на отдельный слой. В таком слоучае тело останется оптимизированным, что приведет в конечном итоге к меньшему размеру файла.
- если какой-то объект не двигается некоторое время, его необходимо на этот промежуток времени заменить статическим объектом.

## Чего следует избегать

Если вы хотите экспортировать анимацию в формат SWF, следует избегать некоторых вещей при создании анимации. Кроме эффектов, которые невозможно экспортировать, следует также избегать, по возможности, следующие эффекты. Сюда относится все, что может быть экспортировано - просто они приводят к нерациональному использованию ресурсов файла. Конечно же, невозможно избегать использования всех этих вещей все время. Тем не менее, если вы распланируете вашу анимацию более тщательно, и используете всего лишь несколько из нижеуказанных эффектов, готовый SWF-файл будет меньше и будет загружаться в интернете очень быстро.

- трехмерные движения камеры - никакая оптимизация не будет возможна, если вы перемещаете камеру в трехмерном пространстве. Простые передвижения из стороны в сторону и масштабирование сцены не влияют на оптимизацию, однако когда вы начина вращать камеру, производительность Flash-анимации заметно падает.
- пытайтесь использовать в векторных объектая как можно меньше узлов.
- инструмент свободного рисования и инструмент вставки текста генерируют большое количество узлов, что в свою очередь приводит к увеличению размера файла.
- ограничьтесь в использовании линий различной ширины, что заставляет Flash-файл проигрываться непредсказуемо. Если хотите получить больше информации на эту тему, прочитайте следующее .
- избегайте составных форм (два смежных круга, залитых цветом как один, формы с дырами или же фигуры ввиде восьмерки).