انیمیشن SVG (لوگو، آیکون، نمودار)
برای زندهکردن لوگوها، آیکونها و نمودارهای SVG میتوان از GSAP به همراه پلاگینهای اختصاصی آن استفاده کرد. مزیت اصلی این روش، کنترل دقیق مسیرها (path)، امکان ترکیب چند افکت و عملکرد بسیار روان است.
🟢 1. آمادهسازی SVG
SVG باید قابلهدفگیری باشد:
-
ویژگی
stroke
برای رنگ خط و "fill="none
برای شفاف بودن داخل. -
استفاده از کلاسها یا ID برای انتخاب راحت.
🟡 2. ترسیم مسیر (Draw Effect)
پلاگین DrawSVG (عضویت Club GreenSock) یا روش CSS پیشفرض:
-
strokeDasharray
= طول کل مسیر -
انیمیشن تا 0 باعث میشود خط بهتدریج ترسیم شود.
🟠 3. Morphing (تغییر شکل لوگو یا آیکون)
پلاگین MorphSVGPlugin:
-
مسیر مقصد باید تعداد نقاط قابلمقایسه داشته باشد (پلاگین خودش هموار میکند).
🟤 4. حرکت روی مسیر (Motion Path)
برای حرکت آیکون/دایره روی مسیر:
-
شیء
dot
دقیقاً روی مسیر حرکت میکند.
🟣 5. افکت نمودار (Chart / Graph)
مثال ستون یا خطی:
-
برای نمودار خطی، همان تکنیک stroke-dashoffset استفاده میشود.
💡 نکات حرفهای
-
Performance: برای تعداد زیاد path از
will-change: transform
و کاهش تعداد نقاط استفاده کنید. -
Timeline: چندین مرحله (ترسیم، رنگ، حرکت) را با یک Timeline هماهنگ کنید.
-
Responsive: از
viewBox
بهجای width/height ثابت استفاده کنید تا SVG در همه اندازهها واکنشگرا باشد. -
Hover/Scroll: با ScrollTrigger میتوانید انیمیشن را فقط هنگام دیدن لوگو فعال کنید.
✅ جمعبندی
-
ترسیم خطوط:
stroke-dasharray
یا پلاگین DrawSVG -
Morphing آیکونها: پلاگین MorphSVGPlugin
-
حرکت روی مسیر: پلاگین MotionPathPlugin
-
نمودارها: تغییر
height
،y
یاstrokeDashoffset
برای رشد تدریجی
GSAP بههمراه این پلاگینها، انیمیشنهای SVG مثل لوگوهای متحرک، آیکونهای داینامیک و نمودارهای تعاملی را بهشکل روان و کاملاً کنترلپذیر ممکن میسازد.