Easing: انواع ease آماده و ساخت custom ease
در GSAP، Easing تعیین میکند که سرعت حرکت در طول انیمیشن چگونه تغییر کند (شروع آرام، پایان سریع و …).
GSAP مجموعهای از easeهای آماده و ابزارهای ساخت custom ease در اختیار شما میگذارد.
🟢 1️⃣ استفادهٔ پایه از Ease
هر انیمیشن میتواند گزینهی ease
داشته باشد:
-
در مثال بالا، حرکت با شتاب آرام شروع و سریع تمام میشود.
🟡 2️⃣ دستهبندی Easeهای آماده
خانواده | نمونهها | توضیح |
---|---|---|
power (1–4) | "power1.in" , "power2.out" , "power3.inOut" | شتاب استاندارد؛ عدد بیشتر یعنی قویتر |
back | "back.in" , "back.out" , "back.inOut" | کمی به عقب میرود و بعد جلو میآید |
elastic | "elastic.in" , "elastic.out(1,0.3)" | کشسان مثل فنر |
bounce | "bounce.in" , "bounce.out" , "bounce.inOut" | ضربه شبیه توپ |
circ | "circ.in" , "circ.out" , "circ.inOut" | مسیر دایرهای نرم |
expo | "expo.in" , "expo.out" , "expo.inOut" | شروع یا پایان بسیار سریع/کند |
sine | "sine.in" , "sine.out" , "sine.inOut" | حرکت سینوسی روان |
linear / none | "linear" یا "none" | سرعت ثابت، بدون شتاب |
in
= شروع آرام و پایان سریع
out
= شروع سریع و پایان آرام
inOut
= هر دو سر نرم
🟠 نمونه کد
-
توپ میافتد و چند بار جهش میکند.
🟣 ease های با پارامتر
برخی میتوانند پارامتر بگیرند:
🟤 ساخت Custom Ease
1. CustomEase با پلاگین
برای منحنی دلخواه، از پلاگین CustomEase استفاده کنید.
گامها
-
اضافه کردن پلاگین (CDN یا نصب از NPM)
-
ثبت پلاگین
-
تعریف منحنی
-
استفاده
-
رشتهی
"M0,0 C0.2,1 0.8,0 1,1"
مسیر SVG cubic-bezier است (میتوانید از ابزارهای آنلاین GSAP یا ابزار DevTools استفاده کنید).
2. cubic-bezier ساده (CSS Style)
بدون پلاگین هم میتوانید یک cubic-bezier استاندارد بسازید:
-
مشابه CSS.
⚡ نکات حرفهای
-
Ease Preview: در سایت رسمی GSAP (easings demo) میتوانید منحنیها را زنده ببینید.
-
میتوانید ease متفاوت برای هر property بدهید (با keyframes یا timeline پیچیدهتر).
-
defaults برای تایملاین:
✅ خلاصه
روش | توضیح کوتاه | مثال |
---|---|---|
آماده (Built-in) | خانوادههای power, back, bounce, elastic … | ease:"power4.out" |
cubic-bezier | مشابه CSS، چهار نقطه کنترل | ease:"cubic-bezier(.7,.3,.1,1)" |
CustomEase | پلاگین با منحنی SVG برای کنترل کامل | CustomEase.create("my","M0,0 C0.25,1 0.5,0 1,1") |
با انتخاب صحیح ease میتوانید احساس طبیعی، نرم و حرفهای به انیمیشنهای GSAP بدهید.