اکسپرشن های افترافکت

اکسپرشن های افترافکت

کاربردی ترین اکسپرشن های افترافکت

اکسپرشن ها یعنی یه جور برنامه نویسی ساده توی افترافکت که بهت اجازه می ده یه سری کارا رو اتوماتیک کنی. مثلاً متن رو جوری نشون بدی که خودش تایپ شه، یا یه عکس هر چند ثانیه یه بار تکون بخوره. اگه بخوای همین کارا رو با کی فریم انجام بدی، باید صد تا کلیک بزنی. ولی با یه خط کد ساده توی اکسپرشن، می تونی همون کارو با دقت بیشتر و زمان کمتر انجام بدی.


بخش اول: اکسپرشن چیه دقیقاً؟

بذار راحت بگم. اکسپرشن یه خط کده که می تونی به هر ویژگی (Property) توی افترافکت وصلش کنی. این ویژگی ها می تونه باشه:

  • Position

  • Scale

  • Opacity

  • Rotation

  • Source Text

وقتی Alt رو نگه داری و روی آیکون ساعت کلیک کنی، یه کادر میاد پایین همون ویژگی که می تونی توش اکسپرشن بنویسی.


چرا باید اکسپرشن یاد بگیری؟

✅ سرعت بالا می ره

✅ دقت کار بیشتر می شه

✅ می تونی چیزایی بسازی که با کی فریم ساختنش سخته

✅ پروژه هات تمیزتر و حرفه ای تر می شه


بخش دوم: اکسپرشن های کاربردی برای متن

۱. تایپ شدن خودکار متن (Typewriter Effect)

این یکی از محبوب ترین افکت های متنه:

var myText = "به آموزش اکسپرشن خوش اومدی";
var charsPerSecond = 15;
var currentChar = Math.floor(time * charsPerSecond);
myText.substr(0, currentChar);

📌 فقط اینو بذار توی Source Text یه لایه متن.


۲. پرش حروف (Jumping Text)

با این اکسپرشن می تونی به هر حرف یه حرکت کوچیک بدی:

idx = textIndex - 1;
t = time - inPoint;
amplitude = 10;
frequency = 5;
y = Math.sin(t * frequency + idx) * amplitude;
[value[0], value[1] + y]

۳. تغییر رنگ متن به صورت متوالی

برای اینکه رنگ متن به صورت خودکار عوض شه:

h = time % 1;
rgbToHsl([1,1,1])[0] + h;

(این یکی توی Fill Color یا Color Control کاربردیه)


۴. تایمر شمارش ثانیه ها

مثلاً بخوای یه تایمر ساده داشته باشی:

Math.floor(time)

یا بخوای از ۱۰۰ تا صفر برگرده:

100 - Math.floor(time)

بخش سوم: اکسپرشن های پرکاربرد برای عکس و لایه های تصویری

۱. لرزش (Wiggle)

مشهورترین اکسپرشن افترافکت:

wiggle(5, 30)

یعنی ۵ بار در ثانیه تا ۳۰ پیکسل جابجا شه. می تونی توی Position، Rotation، یا حتی Opacity بذاری.


۲. حرکت سینوسی

حرکت نرم مثل موج:

x = time * 100;
y = Math.sin(time * 2) * 50;
[x, y]

۳. دنبال کردن لایه دیگر (Follow another layer)

مثلاً یه عکس حرکت کنه با یه شی دیگه:

thisComp.layer("Layer Name").transform.position

۴. کم و زیاد شدن شفافیت (Opacity Pulsing)

Math.abs(Math.sin(time * 2)) * 100

۵. ایجاد لوپ بی نهایت برای کی فریم ها

مخصوصاً برای انیمیشن هایی که قراره همش تکرار شن:

loopOut("cycle")

یا

loopOut("pingpong")

بخش چهارم: اکسپرشن های هوشمند برای افزایش بهره وری

۱. فعال سازی ویژگی بعد از زمان مشخص

مثلاً بخوای Opacity بعد از ۲ ثانیه فعال شه:

if (time > 2) {
  100;
} else {
  0;
}

۲. کنترل یک ویژگی با Slider

۱. یه Slider Control به لایه بده

۲. توی مثلاً Scale اینو بنویس:

s = effect("Slider Control")("Slider");
[s, s]

حالا با اسلایدر Scale رو کنترل کن.


۳. فعال و غیرفعال کردن لایه با Checkbox

۱. یه Checkbox Control بده

۲. توی Opacity اینو بذار:

chk = effect("Checkbox Control")("Checkbox");
chk == 1 ? 100 : 0

۴. کنترل زمان ورود متن با یک متغیر

مثلاً متن از بیرون وارد شه با تاخیر:

delay = 1.5;
t = time - inPoint - delay;
start = [thisComp.width, value[1]];
end = value;
ease(t, 0, 1, start, end);

بخش پنجم: اکسپرشن های جذاب برای موشن گرافیک

۱. ایجاد bounce یا پرش بعد از ورود آبجکت

freq = 4;
ampl = 20;
decay = 2;
t = time - inPoint;
value + [0, -Math.abs(Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t))*ampl]

۲. لرزش با شدت متغیر با گذر زمان

wiggle(3, time*10)

۳. زمانبندی برای صحنه های سینمایی

مثلاً بخوای یک آبجکت با فاصله زمانی بیاد داخل:

delay = index * 0.3;
t = time - inPoint - delay;
easeOut(t, 0, 1, [value[0] + 300, value[1]], value)

بخش ششم: ترفندها و نکات حرفه ای برای استفاده بهتر از اکسپرشن

✅ همیشه اسم لایه ها رو درست بذار، چون توی اکسپرشن از اسم ها استفاده می شه

✅ از Slider و Checkbox برای کنترل سریع چند ویژگی با هم استفاده کن

✅ از پنل Graph Editor برای کنترل دقیق تر زمان بندی استفاده کن

✅ برای پروژه های طولانی، اکسپرشن ها باعث صرفه جویی شدید توی زمان می شن

✅ اگه اکسپرشنت ارور داد، حتماً دنبال خطا بگرد. معمولاً یه نیم ویرگول یا پرانتز جا افتاده

میخوای مثل یک ادیتور حرفه ای باشی؟

آموزش های رایگان و فایل های آماده رو رایگان دریافت کن

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *