Корректная работа анимаций в Lottie Web начинается с грамотной
подготовки проекта в Adobe After Effects. Основное требование —
использование поддерживаемых функций и строгая организация структуры
композиции.
- Размер композиции задаётся фиксированно (например, 1920×1080 или
512×512), без последующего масштабирования средствами браузера
- Частота кадров (Frame Rate) должна быть постоянной, чаще всего
используется 30 fps
- Длительность композиции ограничивается разумными пределами — слишком
длинные анимации увеличивают размер JSON-файла и нагрузку на
браузер
Каждая композиция должна быть самодостаточной, без зависимости от
внешних ресурсов, которые не поддерживаются Lottie.
Поддерживаемые типы слоёв
Lottie Web через плагин Bodymovin экспортирует только определённые
типы слоёв:
Поддерживаются:
- Shape Layers (векторные формы)
- Solid Layers
- Text Layers
- Null Objects (для анимации и привязок)
- Pre-compositions (с ограничениями)
Ограниченно поддерживаются:
- Image Layers (растровые изображения)
- Маски (в простых случаях)
Не поддерживаются:
- 3D-слои
- Камеры и источники света
- Adjustment Layers
- Effects (за редкими исключениями)
Использование неподдерживаемых элементов приводит к потере части
анимации или ошибкам при экспорте.
Векторная графика и Shape
Layers
Предпочтение всегда отдаётся Shape Layers, поскольку:
- Они полностью поддерживаются Lottie
- Обеспечивают минимальный размер итогового JSON
- Масштабируются без потери качества
При импорте из Illustrator важно:
- Конвертировать слои в Shape Layers
(
Create Shapes from Vector Layer)
- Удалять лишние группы и вложенности
- Проверять корректность путей (paths)
Сложные векторные структуры необходимо упрощать:
- минимизировать количество точек
- избегать чрезмерной вложенности групп
- объединять похожие элементы
Анимации и ключевые кадры
Lottie корректно обрабатывает базовые типы анимации:
- Position
- Scale
- Rotation
- Opacity
- Path (анимация формы)
- Fill и Stroke (цвет, толщина)
Рекомендации:
- Использовать простые easing-функции (Bezier)
- Избегать выражений (Expressions) — поддержка ограничена
- Не применять сложные зависимости между слоями
Если используются выражения, необходимо проверить их поддержку в
Bodymovin или заменить на bake-анимацию (преобразование в ключевые
кадры).
Работа с текстом
Text Layers поддерживаются, но с ограничениями:
- Шрифты должны быть доступны в браузере или встроены
- Не все свойства текста экспортируются (например, некоторые
стили)
- Анимация текста лучше выполняется через transform-свойства
Рекомендуется:
- Конвертировать текст в Shape Layers, если важна точная визуальная
идентичность
- Избегать динамических текстовых эффектов
Изображения и ассеты
Использование растровых изображений возможно, но нежелательно:
- Увеличивается размер JSON или подключаемых ассетов
- Теряется масштабируемость
- Требуется отдельная загрузка ресурсов
Если изображения необходимы:
- Оптимизировать их размер и формат (PNG/JPG)
- Использовать минимальное разрешение
- Проверять пути загрузки в Bodymovin
Прекомпозиции
(Pre-compositions)
Пре-композиции позволяют структурировать проект, но требуют
аккуратного использования:
- Поддерживаются вложенные композиции
- Все вложенные элементы должны соответствовать требованиям
Lottie
- Не допускается использование Time Stretch или Time Remapping без
проверки
Рекомендуется:
- Ограничивать глубину вложенности
- Использовать прeкомпозиции только для логической группировки
Маски и трим-пути
Маски (Masks):
- Поддерживаются только базовые режимы (Add)
- Сложные режимы наложения не работают
Trim Paths:
- Полностью поддерживаются
- Широко используются для анимации линий и контуров
- Являются предпочтительным инструментом для анимации stroke
Цвета и стили
- Поддерживаются Fill и Stroke
- Градиенты работают, но могут увеличивать размер JSON
- Blend Modes поддерживаются частично или не поддерживаются вовсе
Рекомендуется:
- Использовать простые цвета
- Минимизировать количество градиентов
- Избегать сложных режимов наложения
Ограничения и оптимизация
Ключевые ограничения при подготовке проекта:
- Размер JSON-файла напрямую влияет на производительность
- Большое количество слоёв замедляет рендеринг
- Сложные path-анимации увеличивают нагрузку
Методы оптимизации:
- Удаление невидимых слоёв
- Сведение одинаковых элементов
- Упрощение анимаций
- Минимизация количества ключевых кадров
Структура проекта
Грамотная организация проекта облегчает экспорт и поддержку:
- Именование слоёв должно быть осмысленным
- Группировка элементов по логике
- Отсутствие «мусорных» слоёв
- Чёткое разделение анимируемых блоков
Пример структуры:
BG — фон
Icon_Main — основной элемент
Anim_Lines — анимация линий
Text_Label — текст
Проверка перед экспортом
Перед использованием Bodymovin необходимо:
- Убедиться, что используются только поддерживаемые элементы
- Проверить анимации на корректность
- Удалить неиспользуемые ресурсы
- Просмотреть предпросмотр через Bodymovin
Ошибки на этом этапе значительно проще исправить, чем после
интеграции в веб-приложение.
Совместимость с Lottie Web
After Effects не является нативной средой для веб-анимаций,
поэтому:
- Не все возможности программы доступны в Lottie
- Требуется адаптация под ограничения JSON-формата
- Визуальное совпадение может отличаться от оригинала
Практика показывает, что лучшие результаты достигаются при
проектировании анимации с учётом ограничений Lottie с самого начала, а
не при попытке адаптации сложных AE-проектов.