1 อธิบาย
ทำให้หุ่นมีขนาดเท่ากันในเฟรมได้หลายวิธี: เลนส์กว้างใกล้ ๆ หรือเลนส์ยาวไกล ๆ แต่ฉากหลังจะต่างกันมาก เพราะสิ่งที่เปลี่ยน perspective คือระยะจากกล้องถึงของแต่ละชิ้น ไม่ใช่ตัวเลนส์
พอถอยไกล ระยะถึงหุ่นกับระยะถึงเสาด้านหลังใกล้เคียงกันมากขึ้น ขนาดจึงต่างกันน้อยลง ฉากหลังเลยดูอัดเข้ามา (compression) เลนส์ยาวแค่ครอปตรงกลางให้เต็มเฟรม ในงาน matchmove ต้องได้ทั้ง focal และระยะที่ถูก ไม่อย่างนั้น CG จะลอยหรือไถลไม่ตรง plate
background size ∝ focal ÷ its distance · subject size ∝ focal ÷ subject distance2 ลงมือลอง
โจทย์: ทุกเป้าหมายมีหุ่นขนาดเท่ากัน หา focal และระยะที่ทำให้ฉากหลังตรงด้วย ครบ 3 ภาพ
จับขนาดหุ่นให้ตรงก่อน แล้วอ่านคำใบ้ฉากหลัง: "อัดแน่นไป" แปลว่าเลนส์ยาวไป
3 เจาะลึก
เลนส์ไม่ได้บิด perspective
ถ้ายืนที่เดิม ถ่ายด้วย 20 มม. แล้วครอปตรงกลางให้เท่ากับภาพ 135 มม. สองภาพจะมี perspective เหมือนกันทุกอย่าง ต่างแค่ความละเอียดและ depth of field เลนส์ยาวคือการครอป ส่วน perspective เกิดจากที่ยืน
คำว่า “เลนส์กว้างบิดหน้า” จึงหมายถึง “เลนส์กว้างทำให้ต้องเข้าใกล้” ระยะใกล้ทำให้จมูกใหญ่เทียบกับหู ไม่ใช่เลนส์เอง (ไม่นับ distortion ของเลนส์จริง)
อัตราส่วนระยะคือทุกอย่าง
ขนาดบนจอของของแต่ละชิ้น ∝ focal ÷ ระยะของมัน เสาที่อยู่หลังหุ่น 12 ม. ดูใหญ่แค่ไหนเทียบกับหุ่น = ระยะหุ่น ÷ (ระยะหุ่น + 12) ซึ่งไม่มี focal อยู่ในสูตรเลย
| ระยะกล้อง | focal ที่ได้หุ่นเต็มตัวเท่ากัน | เสา (12 ม. หลัง) เทียบหุ่น |
|---|---|---|
| 2.55 m | 20 mm | 0.18× |
| 6.4 m | 50 mm | 0.35× |
| 17.3 m | 135 mm | 0.59× |
ฉากหลังอัด = กล้องไกล ไม่ใช่แค่เลนส์ยาว
ทำไม matchmove ต้องได้ทั้งคู่
ถ้า focal ผิดแต่ปรับระยะจนตัวละครขนาดตรง ภาพนิ่งเฟรมเดียวอาจดูผ่าน แต่พอกล้องขยับ ของใกล้กับไกลจะเลื่อนไม่เท่า plate CG จะไถล solver จึงต้องการ focal ที่ถูก หรือมี parallax พอให้คำนวณ focal ได้เอง (parallax คือการที่ของใกล้กับของไกลเลื่อนไม่เท่ากันเมื่อกล้องย้ายตำแหน่ง ดูบท CL6)
ช็อตที่ไม่มี parallax (กล้องหมุนอยู่กับที่) คำนวณ focal ได้ยาก ให้ใช้ค่าจากกองถ่ายและ lens grid เป็นหลัก
- 1focal + sensor จากกอง
- 2แก้ distortion
- 3solve กล้อง
- 4เช็กของใกล้–ไกล
dolly zoom ก็คือหลักเดียวกัน
ถ้าเลื่อนจากเป้าหมาย 1 ไป 3 ต่อเนื่องในช็อตเดียว (ถอยกล้องพร้อมเพิ่ม focal) หุ่นขนาดคงที่แต่ฉากหลังพุ่งเข้ามา นั่นคือ dolly zoom บท L2 ในแพ็ก Camera & Lens ลองแบบเคลื่อนไหวได้
4 ในงานจริง
ทำใน Nuke
- Camera: ใส่ focal ตามรายงานกล้อง และ horizontal aperture ตามขนาดเซนเซอร์ที่ใช้จริง
- LensDistortion (อาจต้องใช้ NukeX / Nuke Studio แล้วแต่ไลเซนส์): แก้ distortion ของ plate ก่อน track แล้วใส่กลับตอนท้ายบน CG ถ้าไม่มีโหนดนี้ ใช้ STMap distortion ที่ได้จากแผนก matchmove แทนได้
- CameraTracker (NukeX): ถ้ารู้ focal ให้ล็อกไว้ แทนที่จะให้ solver เดาเอง
- เช็กด้วย Card ที่ระยะใกล้และไกล ScanlineRender ซ้อน plate แล้วดูทั้งช็อตว่าไม่ไถล
พลาดบ่อย → แก้ยังไง
- ✗ เปลี่ยน focal ของกล้อง CG ให้หุ่นขนาดตรง โดยไม่ขยับกล้อง✓ ถ้าฉากหลังไม่ตรงด้วย ปัญหาคือระยะ ไม่ใช่ focal
- ✗ เชื่อว่าเลนส์ยาว “บีบ” ฉากหลังด้วยตัวมันเอง✓ การบีบมาจากระยะที่ไกลขึ้น เลนส์ยาวแค่ทำให้ยังได้ขนาดตัวละครเท่าเดิม
- ✗ track ช็อตที่ยังมี lens distortion อยู่✓ แก้ distortion ก่อน ไม่อย่างนั้น focal ที่ได้จะเพี้ยน
เช็กก่อนส่งช็อต
- focal และ sensor ตรงกับข้อมูลกอง
- ขนาดตัวละครและฉากหลังตรงกับ plate พร้อมกัน
- ของใกล้และไกลไม่ไถลตลอดช็อต
- แก้ distortion ก่อน track และใส่กลับตอนท้าย
5 เช็กตัวเอง
สองช็อตมีหุ่นขนาดเท่ากัน แต่ในช็อต B เสาด้านหลังดูใหญ่ขึ้นสองเท่า เกิดอะไรขึ้น
🔒 ตอบคำถามด้านบนก่อน แล้วการ์ดนี้จะเปิด
1. หุ่นอยู่ห่าง 6 ม. เสาอยู่ห่าง 18 ม. เสาดูใหญ่แค่ไหนเทียบหุ่น (ถ้าสูงเท่ากัน)
2. อยากให้ภูเขาด้านหลังดูใหญ่ขึ้นเทียบหุ่น โดยหุ่นขนาดเท่าเดิม ต้องทำอย่างไร
ตัวเลขมาจากไหน: คะแนนฉากหลังใช้แถวเสาที่อยู่หลังหุ่น 12 ม.: ขนาดบนจอ ∝ focal ÷ (ระยะ + 12 ม.) ถูกต้องสำหรับกล้อง pinhole เลนส์จริงมี distortion และ breathing เพิ่มเข้ามา กล้องเป็นแบบ pinhole ในอุดมคติ (ไม่มี lens distortion) เซนเซอร์กว้าง 36 มม. ครอปเป็น 16:9 (36 × 20.25 มม.) ฉากและหุ่นสร้างด้วยโค้ดใน three.js