Библиотека GSAP предоставляет мощный инструмент для создания сложных
анимаций с плавными и естественными движениями. Одним из таких
инструментов является плагин CustomWiggle, позволяющий
создавать “тряску”, колебания или хаотичные движения объектов с точным
контролем параметров. Основными параметрами этого плагина являются
wiggles и type, которые определяют характер и
интенсивность анимации.
wigglesОписание: wiggles задаёт количество
колебаний, которые объект совершит в течение всей анимации. Значение
может быть целым числом больше нуля. Чем больше число, тем более
интенсивными и частыми будут движения.
Принципы работы:
wiggles определяет количество точек изменения значения
свойства в течение анимации.Пример использования:
gsap.to(".box", {
duration: 2,
x: 100,
ease: "customWiggle",
wiggles: 5
});
В этом примере объект .box совершит 5 колебаний по оси
x в течение 2 секунд, плавно перемещаясь от исходного
положения к 100px.
Особенности:
typeОписание: type определяет форму
колебаний, то есть как именно объект будет перемещаться между точками.
Плагин CustomWiggle поддерживает несколько типов кривых для
создания различных динамических эффектов.
Возможные значения:
"uniform" — равномерные колебания, все
волны одинаковой амплитуды. Эффект подходит для строгих, предсказуемых
анимаций."soft" — колебания плавные, с
постепенным увеличением и уменьшением амплитуды. Эффект создаёт мягкое,
органичное движение."rough" — хаотические колебания с
непредсказуемой амплитудой. Подходит для имитации тряски, вибрации или
шумного движения.Пример использования:
gsap.to(".box", {
duration: 2,
x: 100,
ease: "customWiggle",
wiggles: 6,
type: "soft"
});
Объект будет перемещаться с 6 плавными колебаниями, создавая эффект мягкого покачивания.
Использование функции для type:
gsap.to(".box", {
duration: 3,
y: 50,
ease: "customWiggle",
wiggles: 8,
type: (index) => Math.sin(index) * 20
});
Функция позволяет динамически менять амплитуду каждого колебания, создавая уникальный паттерн движения.
wiggles и typewiggles)
напрямую влияет на характер движения, но их восприятие определяется
типом (type).type) меняет визуальное
ощущение даже при одинаковом числе wiggles. Например, 10
колебаний с "soft" будут выглядеть плавно, а с
"rough" — хаотично."rough" — резкий вибрирующий
эффект.wiggles в
диапазоне 3–7 и тип "soft", чтобы движение выглядело
естественно."rough" с wiggles 10–20.type с разными значениями wiggles, чтобы
каждая колебательная точка имела собственную амплитуду и форму
движения.Эти параметры позволяют создавать сложные анимации без необходимости вручную прописывать ключевые кадры и кривые, оставляя полный контроль над динамикой движения.