ข้ามไปยังเนื้อหา
Tayakorn
คู่มือ Blender Animation

คู่มือ Blender Animation

LEVEL 1 · พื้นฐานที่ใช้ทุกวัน

Keyframe คือจุดบนเส้นโค้ง ไม่ใช่ท่าที่จำไว้

ความเข้าใจผิดที่แพงที่สุดในเล่มนี้: คิดว่า keyframe คือ "ท่า" ที่ Blender ถ่ายรูปเก็บไว้ แล้วค่อยเล่นสลับให้ดู

ถ้าเป็นแบบนั้นจริง เฟรมที่อยู่ระหว่างสองคีย์ก็ควรจะว่างเปล่า แต่มันไม่ว่าง ลองดูของจริงจากไฟล์เดียวกับบทที่แล้ว — คีย์แค่สองจุด คือเฟรม 1 อยู่ที่ 0 และเฟรม 25 อยู่ที่ 10:

    จุด (frame, value) = (1.0, 0.0)  | interpolation: BEZIER
    จุด (frame, value) = (25.0, 10.0) | interpolation: BEZIER

แล้วถามค่าที่เฟรมที่ ไม่ได้คีย์ไว้เลย:

  frame  1 -> location.x = 0.0000
  frame  5 -> location.x = 0.7407     ← ไม่มีใครคีย์เฟรมนี้ แต่มีค่า
  frame  7 -> location.x = 1.5625
  frame 13 -> location.x = 5.0000     ← กึ่งกลางเวลาพอดี ได้กึ่งกลางระยะพอดี
  frame 19 -> location.x = 8.4375
  frame 25 -> location.x = 10.0000

มีค่าทุกเฟรม ทั้งที่คีย์ไว้แค่สองจุด

keyframe ไม่ใช่ท่าที่ถูกจำ แต่คือจุดที่คุณปักลงบนเส้นโค้ง — ส่วนที่เหลือของเส้น Blender คำนวณให้

100ค่าเฟรมframe 1frame 25คีย์เองคีย์เอง0.74071.56255.00008.4375จุดกลวง = เฟรมที่ไม่ได้คีย์ แต่มีค่าเสมอ
FIG 3.1 คีย์ไว้ 2 จุด แต่ทุกเฟรมมีค่า — ค่าที่เฟรม 5, 7, 19 ไม่มีใครปัก มันถูกอ่านจากเส้น · ตัวเลขทั้งหมดมาจาก fcurve.evaluate() ของจริง

3.1 สิ่งที่เกิดขึ้นจริงตอนคุณกด I

กด I หนึ่งครั้ง Blender ทำสามอย่างเรียงกัน:

  1. อ่านค่าปัจจุบันของ property นั้น
  2. หา F-Curve ที่ผูกกับ data path นั้น ถ้ายังไม่มีก็สร้างใหม่
  3. ปักจุดหนึ่งจุดลงบนเส้นนั้น ที่พิกัด (เฟรมปัจจุบัน, ค่าที่อ่านได้)

💡 F-Curve คือ "เส้นโค้งฟังก์ชัน" — กราฟที่รับเลขเฟรมเข้าไป แล้วคืนค่าของ property ออกมาหนึ่งค่า ทุก property ที่ถูกคีย์จะมี F-Curve ของตัวเองหนึ่งเส้นเสมอ

3.2 ทำไมความเข้าใจนี้ถึงเปลี่ยนวิธีทำงาน

เพราะถ้า keyframe เป็นแค่จุดบนเส้น สิ่งที่คุณควบคุมได้ก็มีมากกว่าที่คิด — คุณไม่ได้ควบคุมแค่ "ตอนไหนอยู่ตรงไหน" แต่ควบคุม รูปทรงของเส้นระหว่างจุด ได้ด้วย และรูปทรงนี้เองที่แยกงานที่ดูเป็นหุ่นยนต์ ออกจากงานที่ดูมีน้ำหนัก

และนั่นคือบทถัดไป

อ่านแบบเต็มเล่ม