اکسپرشن‌های شرطی در نرم‌افزار افترافکت

مدرس: محمد مهدی محمدی

شاید کدنویسی در افترافکت براتون عجیب باشه و دوستش نداشته باشید ولی اینو از ما قبول کنید که اینکار برای راحت‌تر کردن کار ماهاست نه پیچیده‌تر کردنش.

اگر با آموزش‌های ساعت‌شنی جلو رفته باشین می‌دونین که اکسپرشن‌ها (Expressions) چه کارهایی انجام میدن اما ممکنه هنوز بعضیامون ارتباط کافی با این ویژگی افترافکت برقرار نکرده باشیم. برای همین باید این نکته رو مرور کنیم که اکسپرشن‌ها (Expressions) درست در زمانی که ما از انجام کار تکراری یا استفاده‌ی زیاد از Key Frame خسته و کلافه شدیم به کمکمون میان و کار چند ساعت رو در چند ثانیه انجام میدن. پس هر زمانی که در پروژه‌هامون احساس کردیم که یک کار رو داریم بارها و بارها انجام میدیم یا کار داره فریم به فریم طاقت‌فرسا جلو میره، اون زمانه که باید اکسپرشن‌ها نقششون رو ایفا کنن.

در این آموزش از نرم‌افزار افترافکت میخوایم یکی دیگه از اکسپرشن‌ها رو بررسی کنیم که اتفاقاً بسیار کاربردی و محبوبه. این اکسپرشن If – Else نام داره و برای مواقعی استفاده میشه که قراره به صورت هوشمند، انیمتی (Animat) رو به لایه‌ی دیگه‌ای مربوط کنیم. یا به اصطلاح، زمانی از این کد استفاده می‌کنیم که بخوایم برای انجام کاری شرط بذاریم. به عنوان مثال در این آموزش چرخیدن بیشتر از ۹۰ درجه یک آبجکت رو به تغییر رنگ همون آبجکت شرط می‌کنیم. به این معنا که اگر شکل ما بیشتر از ۹۰ درجه چرخید رنگش عوض بشه.

این ویژگی بسیار کاربردیه و هر زمان که با موقعیتی روبرو بشیم که انیمیتمون باید براساس برخی شرایط تصمیم بگیره می‌تونیم از این اکسپرشن به راحتی استفاده کنیم.

  • نرم‌افزار افترافکت رو باز می‌کنیم.
  • دو تا Shape هم‌شکل با رنگ‌های متفاوت رو وارد نرم‌افزار می‌کنیم.
  • لایه‌ی زیری رو به لایه‌ی بالایی باید Parent کنیم.
  • برای Opacity لایه‌ی بالایی، Expression می‌نویسیم.
  • یک متغیر برای مثال R= رو می‌سازیم و Parent می‌کنیمش به Rotation لایه‌ی بالایی و ; رو تایپ می‌کنم.
  • به خط بعدی میریم و تایپ می‌کنیم: {If(R>90){0
  • مجدداً به خط بعدی میریم و تایپ می‌کنیم: {Else{100
  • در نتیجه با تغییر Rotation و با گذشتن از مرز ۹۰ درجه، لایه‌مون رنگش تغییر میکنه.