سلام خسته نباشید
همیشه اسکیپت overlap برای انیمیت اجسام پشت سر هم هنجام میشه برای مثال شما میخواهید یک سالید حرکت کنه بعد از پشتش چند تا سالید دیگه با 1 ثانیه اختلاف حرکت کنه برای اینکار باید از اسکریپت overlap استفاده کنیم
اما چقدر خوبه اگه این کد ها رو خودمون بنویسیم و نحوه کارش رو بدونیم
برای اینکار شما 5 تا سالید بسازید و اونها رو به ترتیب از بالا به پایین بچینید و همچنین در قسمت لایه ها هم اونها رو به ترتیب کنید (یعنی بالا ترین لایه رو بالا قرار بدید و پایین ترین لایه رو پایین)
بعد یکی از پارامتر ها (برای مثال من opacity)رو انیمیت میکنیم که از 100 به 0 برسه و دوباره به 100 برسه (هر انیمیتی خودتون میخواید)
حالا بریم سراغ کد نویسی :
کلید alt رو پایین نگاه دارید و دری پارامتر opacity لایه دوم کلیک کنید تا کد نویسی برای شما ضاهر بشه.
حالا باید اوپاسیتی لایه بالایی رو بهش بشناسونیم پس این کد رو مینویم
کد:a1 = thisComp.layer(index-1).transform.opacity;
در کد بالا index به معنی شماره لایه (اگه دقت کنید هر لایه یک شماره داره و ایندکس یعنی شماره همون لایه که برای کد رو نوشتیم که اگه -1 بشه میشه لایه بالاییش)
و به جای a1 شما متونید هرچیزی بنویسید حالا من این رو نوشتم
حالا میریم سراغ دستور valueAtTime
این کد رو زیر اون بنویسید
داخل پروانتز شما time رو منهای هر عددی کنید اختلاف زمان لایه با لایه بالایی هم به همون مقدار هستکد:a1.valueAtTime(time-0.1);
حالا این کد ها رو روی اوپاسیتی تمام لایه ها کپی کنید و خواهید دید که اولین لایه هر کاری کنه لایه های پایینی هم به ترتیب پشت سر اون این کار رو انجام میدن
این کد ها رو میزارم تا استفاده کنید
پروژه رو هم در قسمت فایل پیوست گذاشتمکد:a1 = thisComp.layer(index-1).transform.opacity; a1.valueAtTime(time-0.1);
اگه جایی از آموزش مشکل داشت در قسمت نظرات مطرح کنید
خدا نگهدار