آموزش اکسپرشن در افترافکت
توی این سری از آموزش های مستر ادوبی میخوام یه مقدار در مورد اکسپرشن های افترافکت براتون توضیح بدم به همراه چند مثال. خیلی وقتا تو افترافکت یه انیمیشن ساده میسازی ولی وقتی میخوای یه چیزی رو تکرار کنی یا مثلاً یه حرکت منظم بسازی، میبینی کلی کیفریم باید بزنی. تازه اگه یه تغییر کوچیک بخوای بدی، باید همه رو اصلاح کنی. اینجاست که Expressions میان وسط.
اکسپرشن یعنی کدنویسی ساده داخل افترافکت. ولی نترس! قراره با هم یاد بگیریم چطوری با چند خط کد ساده، یه انیمیشن باهوش بسازیم که خودش بفهمه کی حرکت کنه، چقدر حرکت کنه، یا مثلاً با یه لایه دیگه هماهنگ باشه.
اکسپرشن چیه؟ با یه مثال ساده شروع کنیم
تو افترافکت وقتی روی یه خاصیت مثل Position یا Rotation کلیک Alt + Click میزنی، یه فضای کوچیک برای نوشتن باز میشه. اونجا میتونی یه خط کد بنویسی که به جای کیفریمگذاری دستی، افترافکت خودش رفتار اون ویژگی رو کنترل کنه.
مثلاً اگه بنویسی:
time * 100
یعنی هر ثانیه ۱۰۰ پیکسل حرکت کنه. دیگه نیازی نیست هی کیفریم بزنی، خودش زمان رو حساب میکنه.
چرا اصلاً از اکسپرشن استفاده کنیم؟
-
صرفهجویی در زمان
-
انیمیشنهای دقیقتر و قابل کنترلتر
-
حذف نیاز به کیفریم زیاد
-
ساخت موشنهای پیچیده با چند خط کد
آموزش قدم به قدم کار با Expressions
مرحله اول: فعال کردن بخش اکسپرشن
آموزش اکسپرشن در افترافکت
۱. یه لایه بساز (مثلاً یک متن یا Solid)
۲. مثلا روی خاصیت Position کلیک کن
۳. Alt رو نگه دار و روی آیکون ساعت کلیک کن
۴. یه کادر مینویسه و اون پایین یه علامت <> ظاهر میشه – اینجا محل نوشتن اکسپرشنه
مثالهای ساده و کاربردی برای شروع کدنویسی افترافکت
۱. حرکت یکنواخت:
time * 50
هر ثانیه ۵۰ پیکسل حرکت کنه. برای لایههای متنی یا شکلها عالیه.
۲. لرزش (Wiggle):
wiggle(5,30)
یعنی ۵ بار در ثانیه تا ۳۰ پیکسل به اطراف بلرزه. خیلی برای افکت شوک یا انرژی خوبه.
۳. دنبال کردن یه لایه دیگه:
thisComp.layer("نام لایه").transform.position
با این، لایه شما دقیقاً حرکت همون لایهای رو که نوشتی، دنبال میکنه.
۴. حرکت سینوسی:
x = time * 100;
y = Math.sin(time * 2) * 50;
[x, y]
یه حرکت موجی تو محور Y در حالی که تو X حرکت میکنه.
چند تا عبارت مهم که باید بشناسی
-
time: زمان جاری تایملاین
-
value: مقدار اصلی (مثلاً همون عددی که خودت وارد کردی)
-
wiggle(frequency, amount): لرزش در تعداد دفعات و شدت مشخص
-
loopOut(): تکرار انیمیشن به صورت لوپ
-
ease(): نرم کردن حرکت بین دوتا مقدار
چطور انیمیشنهای هوشمند بسازیم؟
مثلاً یه دکمه داری که وقتی روش کلیک میشه یا موس روش میره، یه موشن خاص بگیره. با اکسپرشن میتونی بگی:
-
اگه فلان اتفاق افتاد، افکت فعال شه
-
اگه یه لایه دیگه حرکت کرد، اینم حرکت کنه
-
اگه زمان از ۳ ثانیه گذشت، متن ظاهر شه
مثال:
if (time > 3) {
value
} else {
[0,0]
}
اینجا میگه تا قبل از ۳ ثانیه، این لایه سر جاش باشه. بعد از اون، بره سر جای خودش.
اکسپرشن ترکیبی با صدا یا لایه دیگه
بعضی وقتا میخوای یه متن یا افکت، با ریتم صدا حرکت کنه یا پالس بزنه. با لینک کردن به Audio Amplitude این کار ممکنه.
۱. صدا رو وارد کن
۲. از Layer > Audio > Convert to Keyframes بزن
۳. حالا یه لایه Keyframe داری که صدا رو به عدد تبدیل کرده
۴. میتونی بگی Scale مثلاً با مقدار اون بالا پایین بشه:
s = thisComp.layer("Audio Amplitude").effect("Both Channels")("Slider")
value + s
استفاده حرفهای از Expressions – فقط با چند خط
۱. افکت پرش متن (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]
یه متن وارد میشه و یه پرش بامزه انجام میده. برای اینترو عالیه!
۲. تایپ شدن متن:
برای تایپ افکت حرفهای هم میشه از اکسپرشن استفاده کرد.
var txt = "سلام رفیق! به افترافکت خوش اومدی";
var c = Math.floor(time * 10);
txt.substr(0, c)
نکاتی که توی کدنویسی افترافکت نباید فراموشت بشه
-
هر جا خواستی از مقدار اصلی استفاده کنی، بنویس value
-
اگه یه خط کد زدی و ارور داد، سریع چک کن ; رو یادت نرفته باشه
-
برای تست، یه لایه Dummy بذار و فقط با اون تمرین کن
-
توی افتر افکت بخش Debug یا Console نداری، باید با تست کردن متوجه خطا بشی
منابع برای یادگیری بیشتر:
-
وبسایت MotionScript.com برای اکسپرشنهای حرفهای
-
کانال یوتیوب Evan Abrams
-
سایت Dan Ebberts (خدای اکسپرشنها!)
جمع بندی – اکسپرشن، دوست هوشمند موشن دیزاینرها 🎯
اگه تا اینجای آموزش با من اومدی، باید بگم که تبریک میگم! چون الآن یکی از قدرتمندترین بخشهای افترافکت رو شناختی. اکسپرشن فقط یه ابزار نیست، یه راهیه که میتونه انیمیشنهای ساده تو رو تبدیل کنه به پروژههای حرفهای.
شروع کن با چند تا کد ساده. بعد یواش یواش ترکیبشون کن. باور کن بعد یه مدت دیگه دستت میاد و انیمیشنهات مثل یه سیستم هوشمند خودشون رفتار میکنن.
هر سوالی داشتی یا خواستی یه پروژه با اکسپرشن برات بسازم، فقط کافیه بگی. حتی میتونم یه ویدیو آموزشی هم برات بسازم که راحتتر یاد بگیری ✌️
میخوای مثل یک ادیتور حرفه ای باشی؟
آموزش های رایگان و فایل های آماده رو رایگان دریافت کن