افتر افکت نرم افزاری عالی برای ساخت موشن گرافیک و انیمیشن رابط کاربری (UI) است ولی گاهی استفاده از آن می تواند وقت گیر باشد. به همین دلیل این نرم افزار از اکسپرشن ها پشتیبانی می کند تا سرعت کار بالاتر رود. وظیفه اکسپرشن در نرم افزار افتر افکت برقرار کردن ارتباطی میان داده های هر لایه با فریم های کلیدی است تا طراحان بتوانند لایه ها را بدون آن که تک تک فریم های کلیدی را خودشان تعریف کنند، انیمیت کنند.
در این مقاله با مقدمات استفاده از اکسپرشن ها و تغییراتی که می توانیم برای استفاده بهتر در آن ها ایجاد کنیم، آشنا می شویم. اگر هنوز با نرم افزار افتر افکت آشنا نیستید خواندن سری مقاله های اصطلاحات کاربردی افتر افکت را از دست ندهید.
اکسپرشن چیست؟
برای کسانی که که تجربه برنامه نویسی دارند، اکسپرشن یک مفهوم آشنا به نظر می رسد. اکسپرشن ها مشابه کدهایی هستند که در وب استفاده می شوند و تعریف می کنند که هر لایه در افتر افکت چه رفتاری از خود نشان دهد. شرکت ادوبی زبان اکسپرشن را بر مبنای جاوا اسکریپت قرار داده و نوشتن و ویرایش آن مانند کدنویسی به زبان جاوا می باشد.
استفاده از اکسپرشن در نرم افزار افتر افکت هنگام ساخت موشن گرافیک ضروری نیست ولی هنگام خلق افکت هایی نظیر جهش و اینرسی به جای تعیین تعداد زیادی فریم کلیدی می توان از آن ها استفاده نمود و در زمان صرفه جویی کرد. اکسپرشن های زیادی به صورت آماده در وب موجود هستند که می توانید به طور مستقیم از آن ها استفاده کنید. اما گاهی دانستن این موضوع که کدام یک برای پروژه مناسب تر است مشکل می شود. اگر مایلید با اکسپرشن ها به طور کامل آشنا شوید، در این سایت می توانید درباره آن توضیحات مفصلی بیابید.
در این مقاله یک اکسپرشن محبوب برای اینرسی را بررسی می نماییم. برای کار با آن می بایست برای متغیرهای دامنه نوسان (amplitude)، فرکانس (frequency) و توقف حرکت (decay) در یک تابع سینوسی عدد تعیین کنید. قطعه کد این اکسپرشن در زیر آمده و لازم است آن را کپی کرده و در افتر افکت وارد کنید. با تغییر عدد متغیرها حالت انیمیشن شما نیز تغییر می کند.
nearestKeyIndex = 0;
if (numKeys > 0){
nearestKeyIndex = nearestKey(time).index;
if (key(nearestKeyIndex).time > time){
nearestKeyIndex--;
}
}
if (nearestKeyIndex == 0) {
currentTime = 0;
} else {
currentTime = time - key(nearestKeyIndex).time;
}
if (nearestKeyIndex > 0 && currentTime < 1) {
calculatedVelocity = velocityAtTime(key(nearestKeyIndex).time - thisComp.frameDuration / 10);
amplitude = 0.1;
frequency = 2.0;
decay = 4.0;
value + calculatedVelocity * amplitude * Math.sin(frequency * currentTime * 2 * Math.PI) / Math.exp(decay * currentTime);
} else {
value;
}
بیش تر بخوانید: 5 اکسپرشن پرکاربرد در نرم افزار افتر افکت
اضافه کردن اکسپرشن در نرم افزار افتر افکت
یک انیمیشن ساده با دو فریم کلیدی را در نظر بگیرید که در آن موقعیت مکانی (position) انیمیت شده است. پس از آن که فریم های کلیدی را ایجاد کردید اضافه کردن اکسپرشن بسیار ساده است. ابتدا روی آخرین فریم کلیدی راست کلیک کنید، منو Keyframe Assistant را باز کرده و گزینه Easy Ease Out را انتخاب کنید. البته انجام این مراحل ضروری نیست ولی فعال کردن آن باعث می شود انیمیشن هر چه به پایان حرکت نزدیک تر می شود، کندتر شود. این ویژگی با اکسپرشن اینرسی همخوانی زیادی دارد.
سپس کلید alt را نگه داشته و روی آیکون ساعت کنار Position کلیک کنید. با این کار یک کادر ظاهر می شود که می توانید کد را در آن وارد کنید. سپس انیمیشن را پخش نمایید مشاهده می کنید که حرکت شیء با جهش خفیفی متوقف می شود. در این مرحله می توانید motion blur را به انیمیشن اضافه کنید تا حرکت نرم تری ایجاد شود.
با تغییر متغیرها در کد اکسپرشن انیمیشن نیز دستخوش حرکت می شود. همان طور که مشاهده می کنید می توانید با دو فریم کلیدی و یک کد ساده حرکت های بسیار جذاب تری خلق نمایید. این کد را می توانید به سایر property ها نیز اضافه کنید و انیمیشن های متنوعی بسازید.
نظرات ارزشمند شما