Экспорт анимированных логотипов из After Effects в Unity

Когда логотип для игры рождается в After Effects, а потом его нужно вдохнуть жизнь прямо в Unity, первый вопрос, который звучит от разработчиков — «разве нельзя просто закинуть проект и нажать Play?» Нельзя. Unity не читает .aep. Логотип приходится переводить в промежуточный формат: либо в векторные данные через Bodymovin/Lottie, либо в покадровую раскадровку, если важна стопроцентная точность картинки со всеми бликами и эффектами. Другого не дано.

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

Когда вообще имеет смысл переносить логотип из After Effects в Unity

Такой маршрут оправдан, если логотип должен существовать не как отдельный рендер-ролик, а как живой элемент сцены. Конкретно:

  • проигрываться внутри игры, а не поверх неё отдельным видеофайлом;
  • масштабироваться под разные разрешения экрана без мыла и артефактов;
  • запускаться по событию: старт сцены, завершение загрузки, экран победы, открытие меню, переход между экранами;
  • реагировать на код: менять цвет, скорость, включаться по триггеру, скрываться, повторяться;
  • быть частью UI или интро, а не просто финальным кадром.

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

Если же задача — один раз показать статичный киношный логотип на пять секунд, проще отрендерить MP4 или цепочку PNG. А когда логотип должен жить внутри проекта и управляться движком, имеет смысл сразу выбирать workflow, заточенный под Unity, а не под видеомонтаж.

Какие есть способы экспорта

Способ Когда подходит Плюсы Ограничения
Lottie / Bodymovin Простые и среднесложные векторные анимации, UI-логотипы Лёгкие файлы, удобно масштабировать, можно запускать в рантайме Поддерживается только часть возможностей After Effects
PNG sequence Если нужна максимальная визуальная точность Почти без сюрпризов при переносе, сохраняет сложный вид Тяжёлый размер, много кадров, выше нагрузка на проект
Видео Для неинтерактивного интро Быстро, просто, предсказуемо Нельзя удобно управлять внутри Unity как анимацией

Для анимированного логотипа в Unity почти всегда выигрывают первые два варианта. Выбор сводится к противостоянию «лёгкость и управляемость» против «точность картинки». Видео я даже не рассматриваю как полноценное решение: по сути это просто плейсхолдер на время, пока не готова настоящая анимация.

Вариант 1. Экспорт через Bodymovin: лучший путь для векторного логотипа

Bodymovin — проверенное расширение After Effects, которое выплёвывает анимацию в JSON для Lottie. Исходно оно заточено под html, svg и canvas, но векторная природа и совместимые плагины позволяют тащить такие файлы прямо в игровые движки. В Unity для этого достаточно подключить один из доступных Lottie-плееров, и вы получаете анимацию, которую легко масштабировать и контролировать из кода.

По моему опыту, Bodymovin идеален для UI-логотипов, которые должны появляться в меню, экранах загрузки, внутриигровых интерфейсах — везде, где нужна лёгкость и отзывчивость. Но он не прощает попыток запихнуть в композицию всё и сразу.

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

Обычно без особых проблем проходят:

  • shape layers (векторные слои);
  • простые трансформации: позиция, масштаб, поворот, прозрачность;
  • базовые маски и заливки;
  • короткие логотипные анимации без сложной 3D-логики.

Если вы строите логотип из примитивов и анимируете появление через прозрачность и сдвиг, Bodymovin отработает как часы — на выходе получите JSON в пару килобайт, который не стыдно добавить даже в мобильную сборку.

Что часто ломается или требует упрощения

Проблемы возникают предсказуемо:

  • выражения (expressions) — почти всегда требуют ручного переписывания или замены на ключевые кадры;
  • сложные эффекты, особенно связанные с шумом, размытием, свечением;
  • продвинутое 3D-пространство, камеры и свет;
  • сторонние плагины, которые не имеют аналогов в целевом плеере;
  • режимы наложения, зависящие от конкретного рендера AE.

Если анимация логотипа собиралась как «ролик для YouTube» — с кучей теней, глоу и слоями в Overlay — экспортёр почти наверняка заставит вас упрощать сцену. Это нормально: задача не в том, чтобы перенести всё дословно, а в том, чтобы сохранить узнаваемую форму и ритм. На практике проще потерять пару эффектов, чем поймать визуальный мусор в сборке.

Вариант 2. PNG sequence: когда нужна полная визуальная идентичность

Если логотип завязан на сложные блики, частицы, световые переливы, размытие в движении и прочие радости композитинга — единственный способ сохранить их в Unity без головной боли, это рендер в последовательность PNG с альфа-каналом. Движку не нужно понимать логику AE; он просто показывает кадры один за другим, как слайд-шоу.

В трейлерном пайплайне мы часто используем этот метод для кинематографичных интро, где логотип с металлическим блеском выезжает на фоне частиц. Рендерим 2–3 секунды анимации в полном качестве, нарезаем на спрайты — и получаем практически тот же вид, что был в композе, без потерь на совместимость.

Когда PNG sequence оправдан

  • логотип должен выглядеть в Unity точно так же, как в After Effects;
  • в композиции много эффектов, которые не экспортируются через Bodymovin;
  • нужна прозрачность, чтобы вписать логотип поверх любой сцены;
  • анимация короткая, и объём файлов некритичен для сборки.

Минус, о котором часто забывают

Если длительность приличная или частота кадров 60 fps, количество файлов быстро становится неприличным. Это увеличивает размер билда, усложняет организацию ассетов и может создать лишнюю нагрузку при загрузке сцены. Для короткого интро это терпимо; если же логотип должен запускаться 10 раз за сессию, лучше пересмотреть подход. Я не раз видел, как пак из 200 PNG под 20 мегабайт убивал время загрузки мобильного билда — и всё ради трёхсекундного свечения.

Подготовка логотипа в After Effects перед экспортом

До того, как жать кнопку экспорта, стоит привести композицию в порядок — иначе сюрпризы в Unity неизбежны. Я обычно прохожусь по одному и тому же чек-листу, и он спасает от большинства типовых проблем.

Чек-лист подготовки

  • Упростить композицию до чистых слоёв — убрать скрытые, заблокированные, лишние направляющие.
  • Превратить текст в кривые, если шрифт не должен зависеть от системы (в Unity всё равно не подтянутся системные шрифты).
  • Убедиться, что все внешние ассеты (картинки, прекомпозы) находятся внутри проекта и не ссылаются на удалённые файлы.
  • Вычистить неподдерживаемые эффекты, если цель — Bodymovin: отключить Expressions, заменить эффекты на кейфреймы.
  • Задать точную длительность композиции, чтобы не тащить пустые хвосты.
  • Проверить прозрачность фона: альфа-канал должен быть чистым, без скрытых плашек.
  • Протестировать анимацию на предмет резких обрезок по краям — в движке они станут ещё заметнее.

Практический совет

Если логотип собран из нескольких элементов (символ, текст, подложка), лучше упаковать их в отдельный pre-comp и готовить к экспорту уже его. Так вы получаете единый управляемый контейнер: проще контролировать геометрию, искать ошибки и при необходимости быстро подменять содержимое. В нашей практике pre-comp для логотипа часто становится «капсулой», которую можно целиком заменить без пересборки всей сцены трейлера.

Какой логотип лучше экспортируется в Unity

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

Что залетает без проблем:

  • плоская векторная графика;
  • чёткие контуры;
  • короткая анимация появления — до 2–3 секунд;
  • минималистичный моушн: смена масштаба, поворот, fade;
  • простые смены состояний без частиц и шума.

Что гарантированно доставит проблем:

  • сложный 3D-рендер с камерами и тенями;
  • светящиеся частицы, особенно с additive blending;
  • живой шум (fractal noise, turbulent noise);
  • размытие движения (motion blur);
  • смешанные режимы наложения, завязанные на конкретную цветокоррекцию AE.

Когда логотип делается именно для игры, почти всегда выигрывает не «самая красивая» версия, а та, которая быстро грузится, стабильно выглядит на разных разрешениях, и которую легко править внутри Unity. Это особенно важно, если логотип будет появляться часто: например, в мобильной головоломке после каждого уровня. Лучше пожертвовать парой блестящих деталей в пользу плавного старта сцены.

Типовой рабочий процесс: AE → Unity

1. Соберите чистую композицию

Сделайте логотип в After Effects как отдельную короткую сцену. Не смешивайте его с титрами, шумовыми вставками и посторонними элементами. Идеально — когда композиция содержит только логотип и его непосредственное окружение (подложку, если она часть брендинга).

2. Проверьте совместимость

Если цель — Bodymovin, заранее уберите всё, что не поддерживается. Можно запустить встроенную проверку: Bodymovin подсветит проблемные слои. Если цель — PNG sequence, убедитесь, что альфа-канал рендерится корректно, и что разрешение композиции достаточно для целевого размера на экране.

3. Экспортируйте нужный формат

  • Для Lottie-подхода — JSON через Bodymovin. Не забудьте отключить лишние свойства в настройках экспорта, чтобы не тащить мусор.
  • Для максимальной точности — PNG sequence с альфой. Рекомендую сразу давать осмысленные имена, например LogoIntro_0000.png, чтобы потом не путаться.

4. Импортируйте в Unity

JSON-подход требует установленного Lottie-плеера (например, от LottieFiles или сообщества). После импорта вы получите анимационный ассет, который можно разместить на Canvas или в мире как SpriteRenderer.

PNG sequence можно собрать в анимацию спрайтов через Animation Clip: выделяете все кадры, перетаскиваете в окно Animation, и Unity сам создаст кривую, переключающую спрайты. Это самый быстрый путь, не требующий дополнительных пакетов.

5. Проверьте в сцене

Сразу обращайте внимание на:

  • масштаб на разных разрешениях — особенно если логотип часть UI и должен адаптироваться;
  • резкость — проверить фильтрацию текстур (Point vs Bilinear);
  • прозрачность — нет ли серой каймы вокруг логотипа;
  • поведение на тёмном и светлом фоне — некоторые режимы наложения могут дать артефакты;
  • производительность в реальной сцене, а не только в редакторе на пустом фоне.

Сравнение подходов на практике

Критерий Bodymovin/Lottie PNG sequence
Вес Обычно меньше (килобайты–сотни КБ) Обычно больше (мегабайты даже для коротких анимаций)
Управление в Unity Удобно для UI и логики: можно ставить на паузу, менять цвет, перематывать Проще, но менее гибко: по сути просто смена кадров
Совместимость с AE-эффектами Ограниченная Почти полная по картинке
Масштабирование Отличное — вектор Зависит от разрешения рендера: увеличил — полезло мыло
Подходит для сложного логотипа Не всегда Да
Время настройки Требует упрощения AE-сцены, установки плеера Быстро: отрендерил, импортировал, назначил на спрайт

Частые ошибки при переносе

1. Надежда на «прямой импорт AE». Сколько раз слышал: «Я думал, Unity как-то сам поймёт проект». Не поймёт. Всегда нужен промежуточный формат или покадровый рендер.

2. Слишком сложная композиция. Чем больше эффектов, выражений и вложенных pre-comp’ов, тем выше шанс, что экспорт безжалостно упростит картинку или сломает движение. Лучше сразу думать о том, как логотип будет жить в движке, а не только о том, как он смотрится в рендер-окне AE.

3. Непроверенная прозрачность. Классика: логотип на альфе в AE выглядит идеально, а в Unity вокруг него появляется тёмный ореол или белая кайма. Причина обычно в преумноженном альфа-канале или неверно настроенном спрайте. Проверяйте на чёрном и белом фоне сразу после импорта.

4. Игнорирование размера. Десяток PNG-файлов для короткого интро могут весить несколько мегабайт. Для десктопа это мелочь, для мобильной сборки — уже критично. Всегда смотрите на размер ассетов и прикидывайте, сколько раз за сессию будет проигран логотип.

5. Отсутствие теста на реальном фоне. Логотип на нейтральном фоне композа и логотип в тёмном интерфейсе игры — две разные вещи. Проверять нужно в целевой сцене, при том освещении и на том фоне, где он будет жить.

Как понять, какой метод выбрать

Я обычно предлагаю отталкиваться от трёх вопросов, которые быстро отрезвляют:

  • Нужно ли управлять анимацией из кода? Если да — однозначно Lottie.
  • Насколько критична визуальная точность? Если малейшее отличие от AE будет заметно и неприемлемо — PNG sequence.
  • Допустим ли рост веса проекта? Если билд должен быть лёгким, Bodymovin с его килобайтами вне конкуренции.

Ответы почти всегда сразу показывают правильный путь. Для UI-логотипов я давно не использую ничего, кроме Lottie. Для кинематографичных интро в трейлерах — только PNG sequence, и ни шагу в сторону.

Пошаговый мини-план для первого экспорта

Если вы делаете это впервые, вот прямая дорожка, по которой мы ведём студентов в s9motion:

  1. Выделите логотип в отдельную композицию — никакого мусора вокруг.
  2. Упростите анимацию до понятных трансформаций: сведите всё к кейфреймам Position, Scale, Rotation, Opacity.
  3. Решите, что важнее: точность или лёгкость — и выберите формат (JSON или PNG).
  4. Подготовьте экспорт под выбранный формат: для JSON — прогнать Bodymovin и убрать проблемные слои; для PNG — настроить рендер с альфой и подходящим разрешением.
  5. Импортируйте результат в Unity и настройте плеер/Animation Clip.
  6. Проверьте прозрачность, масштаб и стабильность на целевой сцене — на светлом и тёмном фоне.
  7. Если что-то ломается, сначала упрощайте AE-композицию, а не пытайтесь «допиливать» Unity костылями.

Вывод

Экспорт анимированного логотипа из After Effects в Unity — это не поиск единственного идеального рецепта, а осознанный выбор между лёгким векторным workflow и более тяжёлым, но визуально безупречным покадровым рендером. Для управляемого UI-логотипа я всегда начинаю с Bodymovin/Lottie — это быстро, гибко и почти не влияет на размер билда. Когда же нужен тот самый «вау-эффект» с бликами и частицами в интро — без PNG sequence не обойтись, пусть и ценой лишних мегабайт. Главное — принять это решение до того, как логотип будет финализирован, и готовить композицию сразу под движок, а не под видеоплеер.

FAQ

Можно ли импортировать .aep напрямую в Unity?

Нет, After Effects-проект напрямую в Unity не переносится. Всегда нужен промежуточный формат вроде JSON (через Bodymovin) или последовательность кадров.

Что лучше для логотипа в игре: Lottie или PNG sequence?

Если приоритет — лёгкость и управляемость из кода, Lottie. Если важна точность сложной картинки без компромиссов — PNG sequence.

Почему анимация выглядит по-разному в Unity и After Effects?

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

Подходит ли Bodymovin для любой AE-анимации?

Нет. Bodymovin поддерживает только часть возможностей After Effects. Сложные композиции с выражениями, 3D-слоями и специфическими эффектами требуют упрощения либо перехода на покадровый рендер.

Что делать, если логотип слишком тяжёлый?

Упростить анимацию: сократить длительность, уменьшить количество кадров, перейти с PNG sequence на векторный формат или разбить логотип на более лёгкие элементы, которые можно комбинировать уже в Unity.