การทำอะไรที่คล้ายๆการทำ Stop Motion ในหลายๆวิธี ไม่ว่าจะลด frame rate ฯลฯ
ถ้าจะไม่ไปยุ่งกับ Frame rate ของ Comp ที่ทำงานอยู่ มีวิธีหนึ่งคือการ Skip frame
ให้ skipFrame คือ เฟรมที่เราจะยกทิ้ง หรือไม่ rander ออกไป หน่วยเป็น frame
เรารู้ว่า
fps * thisComp.frameDuration = 1.0 frame ----------
fps มีหน่วยเป็น frame/sec
thisComp.frameDuration มีหน่วยเป็น sec
ดังนั้น cD = skipFrame * thisComp.frameDuration ก็จะได้เวลาทั้งหมดเป็น frame.sec หรือเฟรม.วินาที
หรือก็คือ cD คือ จำนวน เฟรมคูณกับเวลา ทั้งหมด
Math.round() คือเอาค่าที่ใกล้ที่สุดที่เป็นจำนวนเต็มได้มาใช้เช่น
คำนวนออกมาได้ วิที่ 1.7 วินาที เราก็จะเอา วิที่ 2 มาใช้ หรือ ได้วิที่ 5.2 เราก็จะเอาวิที่ 5 มาใช้ เป็นต้น นี่คือหน้าที่ของ Math.round ภาษาคนก็คือเอาค่าที่ใกล้จำนวนเต็มน่ะแหละ
ให้ Result คือผลลัพท์ทั้งหมดก่อนที่เราจะไปทำ timeRemap
time มีหน่วยเป็น sec. หรือ วินาที
cD มีหน่วยเป็น frame.sec
ก็จะได้
Result = Math.round(time/cD)*cD หน่วยเป็นวินาที
ต่อมาก็เอาใส่ timeRemap = Result;
เบ็ดเสร็จก็จะได้ Expression ดังนี้
skipFrame = 3;
cD = skipFrame* thisComp.frameDuration;
Result = Math.round(time/cD)*cD;
timeRemap = Result;
Download ตัวอย่างไปดูคู่กันด้วยนะ อันนี้เป็น CS5 นะ
0 ความคิดเห็น