หน้าแรก · Lab · พื้นฐาน motion

M2 Graph editor: handle กับความเร็ว

ลาก handle แล้วดูเส้นความเร็วเปลี่ยนตาม

พื้นฐาน motion · ~7 นาที · ฟรี

1 อธิบาย

ใน graph editor แต่ละ key มี handle (tangent) ที่กำหนดความชันของเส้นค่าตรง key นั้น ความชัน = ความเร็ว handle ราบ = ความเร็ว 0 ที่ key นั้น handle ชัน = วิ่งเข้าหรือออกจาก key ด้วยความเร็วสูง

เส้นฟ้าด้านล่างคือความเร็ว (1 = ความเร็วเฉลี่ย) ตอนเริ่มบทนี้วัตถุชนปลายทางด้วยความเร็ว 2 เท่าของค่าเฉลี่ยแล้วหยุดกึก ดูแข็งเหมือนชนกำแพง ลากจุดฟ้าบนกราฟ หรือใช้ slider ก็ได้

speed at key 2 = (1 − y₂) ÷ (1 − x₂)

2 ลงมือลอง

โจทย์: ให้ความเร็วตอนถึง key 2 เหลือ 0 (หยุดนุ่ม) โดยไม่เลยเป้า

handle ที่ key 2 ต้องราบ คือค่าของ handle เท่ากับค่าของ key

SkyVFX Lab · M2interactive · 1001

3 เจาะลึก

สองกราฟ หนึ่งการเคลื่อน

กราฟค่า (value graph) บอกว่าแต่ละเฟรมอยู่ตรงไหน กราฟความเร็ว (speed graph) บอกว่าเคลื่อนเร็วแค่ไหน ความเร็วคือความชันของกราฟค่า สองกราฟจึงเป็นข้อมูลชุดเดียวกันมองคนละมุม

บางคนชอบแต่งบนกราฟค่าเพราะเห็นตำแหน่ง บางคนชอบกราฟความเร็วเพราะเห็นการเร่งและเบรกชัด ลองทั้งสองแบบ

  1. 1handle ชัน
  2. 2ความเร็วสูงที่ key
  3. 3handle ราบ
  4. 4ความเร็ว 0 = หยุดนุ่ม

ความยาวของ handle = แรงดึง

ทิศของ handle กำหนดความเร็วตรง key ส่วนความยาวกำหนดว่าความเร็วนั้นคงอยู่นานแค่ไหนก่อนเส้นจะเลี้ยวออก handle ยาวที่ key 2 ทำให้ช่วงผ่อนยาวและนุ่มขึ้น handle สั้นทำให้เบรกช่วงสุดท้ายแบบรีบ ๆ

handle ที่ key 2ผลบนจอ
ชี้ขึ้นชันชนแล้วหยุดกึก
ราบ สั้นเบรกช่วงท้ายรีบ ๆ
ราบ ยาวผ่อนนุ่มนาน
ค่าเกิน keyเลยเป้าแล้วกลับ

ใช้กับงาน comp จริง

การ track แล้วมี jitter, การ key camera move ปลอมบน plate ที่ถ่ายนิ่ง (locked-off), การ key ความแรงของ glow ตามแสงไฟที่กะพริบ ทั้งหมดดูใน graph editor ได้ เส้นที่หยัก ๆ บอกว่ามีสั่น เส้นที่หักมุมบอกว่ามีการเปลี่ยนความเร็วกะทันหัน

ถ้ามองการเคลื่อนแล้วรู้สึกแปลก ให้เปิดกราฟความเร็ว มุมแหลมที่ไม่ได้ตั้งใจจะเห็นชัดที่สุดตรงนั้น

4 ในงานจริง

ทำใน Nuke

  1. Curve Editor: เลือก key แล้วลาก handle ซ้าย/ขวา เพื่อเปลี่ยนความชันเข้าและออก
  2. คลิกขวา > Interpolation > Horizontal ทำให้ handle ราบ (ความเร็ว 0 ที่ key นั้น)
  3. คลิกขวา > Interpolation > Break แยก handle สองข้างให้ปรับแยกกันได้
  4. เลือก node ที่มี animation แล้วเปิด Curve Editor จะเห็น curve ของทุก knob ที่ key ไว้ เทียบกันได้

พลาดบ่อย → แก้ยังไง

  • ✗ ดูแค่กราฟค่า แล้วคิดว่า "เส้นดูนุ่มแล้ว"✓ มุมเล็ก ๆ บนกราฟค่าอาจเป็นการกระโดดของความเร็ว ดูความชันตรง key ทุกครั้ง
  • ✗ ดึง handle จนค่าเกิน key โดยไม่รู้ตัว✓ ถ้าไม่ได้ต้องการ overshoot ให้ handle อยู่ไม่เกินค่าของ key
  • ✗ ทำให้ทุก key ราบหมด✓ key กลางทางที่ราบจะทำให้วัตถุหยุดชั่วขณะ ปล่อยให้ key กลางไหลผ่าน

เช็กก่อนส่งช็อต

  • key ที่ควรหยุดนุ่มมี handle ราบ
  • ไม่มี overshoot ที่ไม่ได้ตั้งใจ (เส้นไม่เกินค่าของ key)
  • กราฟความเร็วไม่มีการกระโดดที่ไม่ได้ตั้งใจ
  • key กลางทางไม่ได้ทำให้วัตถุชะงัก

5 เช็กตัวเอง

เช็กตัวเอง 1 ข้อ

ใน graph editor เส้นค่าชันมากตรง key สุดท้าย บนจอจะเห็นอะไร

สิ่งที่ได้เรียน

🔒 ตอบคำถามด้านบนก่อน แล้วการ์ดนี้จะเปิด

คำถามเพิ่ม

1. อยากให้วัตถุพุ่งออกจาก key 1 เร็ว ควรทำอะไรกับ handle ที่ key 1

2. กราฟความเร็วตกจาก 2 เป็น 0 ในเฟรมเดียวตรง key สุดท้าย บนจอเห็นอะไร

ตัวเลขมาจากไหน: เส้นในหน้านี้เป็น cubic Bézier รูปเดียวกับ CSS cubic-bezier (เวลาและค่าถูกปรับเป็นช่วง 0–1) ความเร็วคำนวณจากอนุพันธ์จริงของเส้น graph editor ของแต่ละโปรแกรมกำหนด handle ต่างกันเล็กน้อย แต่หลัก "ความชัน = ความเร็ว" ใช้ได้ทุกที่