Вопрос проигрывания Flash анимаций в Unity3d сейчас решен каждым разработчиком по своему. Трудоемкий процесс, временные затраты, большой обьем графики и это далеко не все недостатки переноса swf в Unity3d. Другие же компании решили этот вопрос отказавшись от Flash и создавая анимации в другом редакторе. Тем не менее это решение не является оптимальным, так как требует тщательного исследования инструмента, обучения и не исключает возможности возникновения трудностей в процессе создания\портирования анимаций.
GAF - Generic Animation Format
Уникальным и оптимальным решением в вопросе портирования 2d анимаций, созданных во Flash, является GAF Converter. GAF - это технология позволяющая конвертировать swf в GAF формат (атлас и config файл). Для проигрывания полученных файлов в Unity есть 2 плагина GAF : Flash to Unity и GAF Pro: Flash to Unity.
GAF : Flash to Unity
Бесплатная вресия
Ссылка на Asset Store - GAF : Flash to Unity
Возможности:
1. Импорт GAF файлов
2. Расширенные настройки анимации
3. Поддержка масок
4. Настройки цвета в анимации
GAF Pro: Flash to Unity
Pro версия с расширенным функционалом - $ 95
Ссылка на Asset Store - GAF Pro: Flash to Unity
Возможности:
1. Импорт GAF файлов
2. Интеграция с Unity3d аниматором
3. Расширенные настройки анимации и управление ресурсами
4. Редактор воспроизведения анимаций
5. Поддержка Flash фильтров
6. Поддержка масок
7. Настройки цвета в анимации
Как сконвертировать Flash анимацию в Unity3d?
После загрузки GAF: Flash to Unity плагина, вы сможете сконвертировать анимацию непосредственно в Unity. Разместите свои swf файлы в папке с ассетами и окно конвертации откроется автоматически. Либо вы можете перетащить свои анимации в окно конвертера.
Чтобы открыть окно конвертера, нажмите на кнопку конвертера в GAF меню.
Либо вы можете скачать приложение GAF Standalone Converter на свой компьютер и конвертировать анимации в нем, а затем скопировать полученные файлы в свой проект в Юнити.
Посмотреть как начать работу с приложением GAF Converter можно по этой ссылке :
http://gafmedia.com/documentation/standalone/quick-start-guide
Также, вы можете посмотреть видео - туториалы как конвертировать Flash анимации с помощью приложения GAF Converter https://www.youtube.com/watch?v=wzFJkl56y7o
и непосредственно через Unity3d: https://www.youtube.com/watch?v=Ax9Ft0ybhdw
Demo c swf анимациями, конвертированными с помощью GAF.
[GAF Pro: Flash to Unity]
Свойства плагина :
-
Bake into a single mesh Возможность запечь все части анимации в один меш.
-
Play automatically Возможность включить\отключить проигрывание после старта сцены
-
Ignore time scale Анимация будет проигрываться даже при условии timescale == 0.
-
Perfect timing (possible frame skip) Дополнительная точность для правильной продолжительности анимации
-
Play in background Анимация будет проигрываться, даже если приложение теряет фокус.
-
Has individual material Возможность задать индивидуальный материал для анимации
-
Animation color Возможность менять цвет в анимации
-
Wrap mode loop - анимация будет непрерывно повторятся, после окончания проигрывания
once - анимация остановится, после окончания проигрывания
-
Target FPS Задать FPS для анимации.
-
Sorting layer Слой, используемый для задачи приоритета наложения во время рендеринга.
-
Sorting layer order Приоритет наложения спрайта в рамках его слоя. Чем ниже число, тем раньше будет рендериться спрайт, а спрайты с числами повыше, будут рисоваться поверх тех, что ниже.
-
Pixels per unit Возможность масшабировать анимацию путем изменения размера сетки.
-
Texture atlas scale Возможность масштабировать анимацию , если вы конвертируете анимацию с двумя (минимум) скейлами. [float value]
-
Content scale factor (CSF) Возможность использовать большие текстуры в той же сетке если вы конвертируете анимацию с двумя коэффициентами масштабирования. (например 1 и 2 для non retina и retina). [integer value]
-
Pivot offset X Возможность задать смещение для pivot point анимации по оси X
-
Pivot offset Y Возможность задать смещение для pivot point анимации по оси Y
-
Z Layer scale Множитель для расстояния между subobjects
-
Sequence Вы можете использовать frame labels для определения различных частей анимации (во *.fla файле). Затем вы можете использовать соответствующий sequence для проигрывания анимации.