GSAP предоставляет гибкую систему easing, которая определяет, как изменяются значения анимируемых свойств во времени. Easing отвечает за плавность движения объектов, создавая эффекты ускорения, замедления, отскока или растягивания, что делает анимации более естественными и динамичными.
ease — базовый тип сглаживания, который обеспечивает
плавный переход между начальным и конечным состоянием анимации. В GSAP
используется несколько разновидностей:
gsap.to(".box", {duration: 2, x: 300, ease: "power2.inOut"});
Ключевой момент: Power easing применим к большинству анимаций и обеспечивает естественное движение объектов.
back добавляет эффект “отскока назад” перед движением к
цели, создавая ощущение натяжения и пружинного старта. Основные
параметры:
gsap.to(".box", {duration: 1.5, x: 300, ease: "back.out(2.5)"});
Применение: визуальные элементы, которые должны «выстреливать» или «подпрыгивать» при старте движения.
elastic создает эффект резины: объект колеблется вокруг
конечного положения, постепенно замедляясь. Параметры:
gsap.to(".ball", {duration: 2, y: 200, ease: "elastic.out(1, 0.3)"});
Особенности:
bounce имитирует физический отскок объекта от
поверхности. Поведение зависит от типа easing:
gsap.to(".ball", {duration: 2, y: 300, ease: "bounce.out"});
Характерные особенности:
| Easing | Основной эффект | Применение |
|---|---|---|
| ease / power | Плавное ускорение/замедление | Универсальные движения |
| back | Отскок назад перед движением | Выстрелы, броски, динамичные старты |
| elastic | Колебания вокруг цели | Пружинные эффекты, упругие объекты |
| bounce | Отскок от поверхности | Имитация падения и гравитации |
Многие easing позволяют точную настройку через параметры:
back.out(2) — увеличивает overshoot.elastic.out(1, 0.5) — регулирует амплитуду и
период.CustomEase.create) позволяет создавать уникальные кривые
движения для любых объектов.Эти типы easing формируют базу анимационных движений в GSAP. Их комбинация и точная настройка создают визуально выразительные и естественные анимации в любых веб-проектах.