Lottie Web работает с анимациями как с иерархией слоёв, где каждый слой представляет отдельный визуальный или логический объект композиции. Структура слоёв напрямую наследуется из After Effects и сохраняется в JSON-описании, которое интерпретируется движком во время рендеринга. Понимание типов слоёв критично для анализа производительности, корректного экспорта и предсказуемого поведения анимации в браузере.
Каждый слой в Lottie описывается объектом с набором стандартных полей:
ty — тип слояks — трансформации (position, scale, rotation,
opacity)shapes — содержимое (для shape layers)t — текстовые данные (для text layers)refId — ссылка на прекомпозицию или изображениеparent — иерархическая связьmasksProperties — маскиblendMode — режим наложенияip, op — диапазон видимости слоя по
кадрамСлои обрабатываются последовательно внутри композиции, при этом порядок влияет на итоговое наложение.
Shape Layer (ty: 4) является основой большинства
современных Lottie-анимаций.
Shape layer состоит из массива фигур:
rc — прямоугольникel — эллипсsh — путь (Path)st — обводка (Stroke)fl — заливка (Fill)tr — трансформация группыКаждая форма может содержать анимируемые свойства через keyframes.
Один из ключевых операторов shape layers:
Это позволяет создавать эффекты прогресса, обводки и рисования линий без растровых ресурсов.
Text Layer (ty: 5) содержит данные типографики.
t.d.k — структура текстаs — стиль (font, size, color, tracking)t.a — выравниваниеТекст в Lottie не является DOM-элементом, а рендерится как векторная или canvas-структура:
Типовые эффекты:
Image Layer (ty: 2) представляет внешние
изображения.
refIdassetsЧаще применяется для:
Solid Layer (ty: 1) — базовый прямоугольный слой с
цветом.
Solid часто комбинируется с масками и blend modes для создания сложных визуальных эффектов.
Precomposition (ty: 0) — слой, ссылающийся на другую
композицию.
refId, указывающий на вложенную
композициюПрекомпозиции увеличивают глубину рендеринга и могут влиять на производительность при глубокой вложенности.
Null Layer (ty: 3) не имеет визуального
представления.
ks)Null layer является ключевым инструментом построения сложных rigging-систем.
Adjustment Layer (ty: 11) применяется к слоям ниже по
иерархии.
Поддержка в Lottie ограничена и зависит от рендера.
Guide Layer (ty: 10) используется как
вспомогательный.
В Lottie может игнорироваться или полностью удаляться при экспорте.
Каждый слой может содержать masksProperties.
Маски применяются до рендеринга слоя и изменяют область видимости.
Слои рендерятся в порядке массива:
Иерархия parent создаёт зависимость трансформаций:
Поддерживаются режимы наложения:
Реализация зависит от canvas или SVG рендера в Lottie Web.
Каждый слой может содержать keyframes:
p)s)r)o)Keyframes могут быть:
Анимация применяется ко всей структуре слоя независимо от его типа.
Разные типы слоёв имеют разную стоимость рендеринга:
Глубокая иерархия parent-child и большое количество shape операций напрямую влияет на FPS в браузере.
Реальные Lottie-анимации почти всегда используют комбинации:
Такой подход позволяет строить сложные интерфейсные анимации без растровой графики и тяжёлых GPU-шейдеров.