1 อธิบาย
ของใหญ่เคลื่อนที่ช้า ระเบิดในภาพนี้กว้างราว 9 เมตร ที่ระยะ 73 เมตร ขยาย ×4 แล้วควรอ่านเป็นราว 35 เมตร แต่ถ้ายังเล่นที่ความเร็วเดิมของ sim จะดูเหมือนประทัดที่ถูกขยาย การเคลื่อนที่ที่ขับด้วยแรงโน้มถ่วงและแรงลอยตัวมีเวลายืดตามรากที่สองของขนาด ใหญ่ขึ้น n เท่าจึงควรเล่นช้าลงเหลือราว 1/√n
เลือกขนาดในช็อตก่อน แล้วเลื่อนความเร็วเทียบกับช่อง "ความเร็วตามขนาด" ลองลดสปีดแบบ "เฟรมใกล้สุด" แล้วดูว่าแต่ละเฟรมต้นฉบับค้างกี่ครั้ง จากนั้นสลับ Retime เป็น frame blend แล้วเทียบการเคลื่อนไหว
speed ≈ 1 / √scale (×2 → 0.71, ×4 → 0.5)2 ลงมือลอง
โจทย์: ทำให้ระเบิด ×4 ดูใหญ่จริง ลดความเร็วให้ตรงกับขนาดของมัน โดยไม่กระตุก
ดูช่องความเร็วตามขนาด แล้วดูว่าแต่ละเฟรมต้นฉบับถูกค้างไว้กี่ครั้ง ลองเปิด ×1 กับ ×4 ที่ความเร็วเดียวกันแล้วเทียบ
3 เจาะลึก
ขนาดมีความเร็วของมันเอง
ควันและระเบิดที่ใหญ่หรืออยู่ไกลเคลื่อนที่ช้า ถ้าระเบิดเร็วเกิน ตาจะอ่านว่ามันเล็ก การเคลื่อนที่ที่ขับด้วยแรงโน้มถ่วงหรือแรงลอยตัวมีเวลายืดตามรากที่สองของขนาด (Froude scaling) งานโมเดลจิ๋วจึงถ่ายที่ frame rate สูงกว่าปกติ √scale เท่า เช่นโมเดล 1:4 ถ่ายที่สองเท่าของ frame rate ปกติ แล้วเล่นกลับที่ความเร็วปกติ
comp ใช้กฎเดียวกันกลับด้าน ขยาย element ขึ้น n เท่า ก็ลดสปีดเหลือราว 1/√n เป็นค่าตั้งต้นที่ดี ไม่ใช่ค่าตายตัว แล้วตัดสินด้วยตาอีกที
| ขนาด | ความเร็วที่คาด | แต่ละ source frame ค้าง (nearest) |
|---|---|---|
| ×1 | 1 | 1 เฟรม |
| ×4 | 1/2 | 2 เฟรม |
| ×16 | 1/4 | 4 เฟรม |
ลดสปีดแล้วเฟรมที่ขาดมาจากไหน
พอลดสปีด ต้องมีเฟรมระหว่างกลางที่ sim ไม่เคยเรนเดอร์ไว้ วิธีที่เลือกเป็นตัวตัดสินว่าภาพจะกระตุก ซ้อน หรือลื่น
| วิธี | สร้างเฟรมกลางอย่างไร | ปัญหาที่ต้องระวัง |
|---|---|---|
| Nearest | ค้างเฟรมที่ใกล้ที่สุด | กระตุกเป็นจังหวะ |
| Frame blend | ผสมเฟรมข้างเคียง | ภาพซ้อนเมื่อช้ามาก ๆ |
| Optical flow (OFlow, Kronos) | สร้างเฟรมใหม่จากการเคลื่อนที่ | หนัก ควร precomp ทันที |
ลำดับงาน: retime ก่อน แล้วค่อยขยาย
เลือกช่วงที่ควันบางตามธรรมชาติด้วย TimeOffset แล้ว retime ที่ resolution เดิมของ element ก่อนขยาย จะเบากว่า retime ภาพที่ขยายแล้ว precomp ผล retime เป็น EXR จากนั้นค่อย Transform ขยาย โดยตั้ง pivot ไว้ที่ element
การลดสปีดทำให้ element ยาวขึ้น ครึ่งสปีดใช้เวลาเป็นสองเท่า ถ้ายังสั้นกว่าช็อต ให้ใช้หลายชุดที่ offset เวลาต่างกันแล้ว dissolve ต่อกัน
- 1TimeOffset: เลือกช่วงบาง
- 2Retime ที่ res เดิม
- 3Precomp เป็น EXR
- 4Transform ขยาย
- 5วางเทียบกับ plate
เช็กขนาดจริงกับ plate
ก่อนวาง element ให้ถามว่ามันใหญ่กี่เมตรเมื่อเทียบกับหินและเนินเขาใน plate ทะเลทราย ระเบิดจาก sim กว้างสุดราว 9 เมตร ช่องอ่านค่าบอกความกว้างที่ขนาดที่เลือก ใช้ตัวเลขนี้ตั้งความเร็ว ไม่ใช่แค่ความรู้สึก
สปีดเปลี่ยนได้ทั้งสองทาง stock element ที่ถ่ายด้วย fps สูงมักช้าอยู่แล้ว จึงมักเร่งขึ้น เช่น ×2 ด้วย Kronos แต่การเร่ง element ใหญ่ให้ดูมีพลังโดยไม่มีเหตุผลในเรื่อง จะทำให้มันดูเล็กลงทันที
เล่นระเบิดที่ลดสปีดแล้วแบบ real time จากเรนเดอร์ที่ cache ไว้ จังหวะจะเห็นก็ต่อเมื่อดูที่ความเร็วจริง
4 ในงานจริง
ทำใน Nuke
- TimeOffset เลือกช่วงของ element ที่ควันบางและรูปทรงดี
- Retime สำหรับเปลี่ยนสปีด ตั้งให้ผสมเฟรมข้างเคียงแทนการค้างเฟรมเมื่อชะลอ ส่วน FrameBlend แค่เฉลี่ยช่วงเฟรมและไม่เปลี่ยนสปีด
- ถ้าช้ามากจนภาพซ้อน ใช้ OFlow หรือ Kronos สร้างเฟรมกลางจากการเคลื่อนที่
- Precomp ผล retime เป็น EXR ทันที เพราะ OFlow และ Kronos หนัก
- Transform ขยาย element หลัง retime ตั้ง pivot ไว้ที่ element
พลาดบ่อย → แก้ยังไง
- ✗ ขยาย element เล็กขึ้นโดยไม่ลดสปีด มันจะดูเหมือนโมเดล✓ ลดสปีดเหลือราว 1/√n แล้วตัดสินด้วยตา
- ✗ ลดสปีดด้วยการค้างเฟรม (nearest) จนเห็นกระตุก✓ ใช้ frame blend หรือ optical flow สร้างเฟรมกลาง
- ✗ ใช้ frame blend ที่สปีดช้ามาก ๆ จนภาพซ้อน✓ เปลี่ยนไปใช้ OFlow หรือ Kronos
- ✗ เร่ง element ใหญ่ให้ดูมีพลังโดยไม่มีเหตุผลในเรื่อง✓ คงสปีดตามขนาด เปลี่ยนเมื่อเรื่องต้องการจริงเท่านั้น
- ✗ ขยายภาพก่อนแล้วค่อย retime✓ retime ที่ resolution เดิมก่อน แล้วค่อยขยาย
เช็กก่อนส่งช็อต
- ขนาดของ element เทียบกับหินและเนินใน plate แล้วสมจริง
- สปีดใกล้ 1/√scale หรือเปลี่ยนจากนั้นด้วยเหตุผลที่บอกได้
- ดูที่ความเร็วจริงแล้วไม่กระตุกและไม่ซ้อน
- retime ทำที่ resolution เดิม และ precomp ไว้ก่อนขยาย
- element ที่ลดสปีดแล้วยาวพอทั้งช็อต หรือ offset และ dissolve ต่อกันเนียน
5 เช็กตัวเอง
ขยายระเบิดให้ดูใหญ่ขึ้น 16 เท่าในเฟรม ควรเล่นที่ความเร็วราวเท่าไร
🔒 ตอบคำถามด้านบนก่อน แล้วการ์ดนี้จะเปิด
1. ระเบิดที่ลดสปีดลงมากด้วย frame blend เห็นขอบควันซ้อนสองชั้น ควรทำอะไร
2. จะ retime และขยาย element ควรทำตามลำดับไหน
ตัวเลขมาจากไหน: ระเบิดเป็น Mantaflow sim ของเราเอง ยาว 48 เฟรม กว้างสุดราว 9 เมตร วัดจากเรนเดอร์และกล้องของฉาก ระเบิด ×2 และ ×4 คือภาพเดียวกันที่ขยายบนจอรอบฐานของมัน ภาพจึงนุ่มลง กฎ 1/√n มาจาก Froude scaling ของการเคลื่อนที่ที่ขับด้วยแรงลอยตัว (ฟิสิกส์ ไม่ใช่ค่าที่วัดจากภาพ) เป็นค่าประมาณ เพราะความหนืดและ turbulence ไม่ได้ย่อขยายตามกันพอดี ส่วน frame blend ในภาพนี้เป็นแบบสอนหลักการ คือผสมสองเฟรมที่ใกล้ที่สุดแบบเส้นตรง element ทุกชิ้นเป็นของเราเอง: จำลองด้วย Mantaflow ใน Blender 5.2 แล้วเรนเดอร์ Cycles ด้วยกล้องเดียวกับ plate (EmberGen สั่ง export แบบไม่เปิดหน้าจอไม่ได้บนเครื่องนี้) ไม่ใช้ stock element