หน้าแรก · Lab · ห้องทดลองกล้อง 3D

CL2 ความสูงกล้องและมุมกล้อง

low, eye level, high, overhead: ตำแหน่งกล้องเปลี่ยนความรู้สึก

ห้องทดลองกล้อง 3D · ~7 นาที · ฟรี

1 อธิบาย

มุมกล้องมาจากความสูงของกล้องเทียบกับตัวละคร กล้องต่ำมองเงย (low angle) ทำให้ตัวละครดูใหญ่และมีอำนาจ ระดับสายตา (eye level) ให้ความรู้สึกเป็นกลาง กล้องสูงมองกด (high angle) ทำให้ดูเล็กลงหรือเปราะบาง ส่วน overhead มองตรงลงมาเหมือนดูแผนที่

บนพื้นราบ เส้นขอบฟ้าในภาพอยู่ที่ความสูงของกล้องเสมอ มันตัดทุกอย่างที่สูงเท่ากล้อง ดูเส้นประสีขาว: ยกกล้องขึ้น เส้นก็ตัดหุ่นสูงขึ้น นี่คือวิธีอ่านความสูงกล้องจาก plate ก่อนวาง CG

2 ลงมือลอง

โจทย์: วางกล้องให้ตรงทั้ง 3 เป้าหมาย: low angle, high angle และ overhead

กล้องเล็งที่อกหุ่นเสมอ คุณแค่ขยับกล้องขึ้น–ลง และใกล้–ไกล

SkyVFX Lab · CL2interactive · 1001

3 เจาะลึก

มุมกล้องเล่าเรื่องได้

มุมต่ำทำให้ตัวละครสูงตระหง่านเหนือคนดู มุมสูงทำให้คนดูมองลงไปหา มุมระดับสายตาให้ความรู้สึกเท่าเทียม ส่วน overhead ตัดความรู้สึกส่วนตัวออก เห็นแบบแผนที่ ใช้บอกตำแหน่งหรือรูปแบบ

มุมกล้องความรู้สึกที่มักได้
Lowต่ำกว่าตา มองเงยมีอำนาจ น่าเกรงขาม
Eye levelระดับตาเป็นกลาง
Highสูงกว่าตา มองกดเล็ก เปราะบาง
Overheadเกือบตรงหัวภาพรวม ระยะห่าง
Dutchเอียงกล้อง (roll)ไม่มั่นคง ผิดปกติ

เส้นขอบฟ้าบอกความสูงกล้อง

บนพื้นราบ ทุกจุดที่สูงเท่ากล้องจะตกบนเส้นขอบฟ้าในภาพ ไม่ว่ากล้องจะก้มหรือเงยหรือใช้ focal เท่าไร ถ้าเส้นขอบฟ้าตัดคนใน plate ที่ระดับไหล่ กล้องก็สูงประมาณไหล่

นี่คือการเช็กที่เร็วที่สุดก่อน track: วางหุ่นหรือ card ที่สูงรู้ค่าในฉาก แล้วดูว่าเส้นขอบฟ้าของกล้อง CG ตัดตรงเดียวกับ plate ไหม

เส้นขอบฟ้าตัดหัวคนทุกคนที่ยืนบนพื้นเดียวกัน = กล้องสูงระดับหัว

ความสูงกับการก้มเงยเป็นคนละเรื่อง

กล้องสูงที่มองตรงไปข้างหน้า ไม่ได้ทำให้ภาพเป็น high angle ทันที ความรู้สึกมาจากทิศที่มองเทียบกับตัวละคร ในแบบฝึกนี้ กล้องเล็งที่อกเสมอ ความสูงกับระยะเลยกำหนดมุมก้มเงยไปพร้อมกัน: tilt = atan((อก − กล้อง) ÷ ระยะ)

ในกล้องจริง การก้มเงยมาก ๆ ทำให้เส้นตั้งเอียงเข้าหากัน (keystone) ตึกจะดูล้ม ช่างภาพสถาปัตย์จึงใช้ shift lens แทนการก้มเงย

วางกล้อง CG ให้เท่า plate

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

  1. 1เส้นขอบฟ้า → ความสูง
  2. 2ของที่รู้ขนาด → ระยะ
  3. 3จุดอ้างอิง → tilt
  4. 4เช็กทั้งช็อต

4 ในงานจริง

ทำใน Nuke

  1. Camera: translate y คือความสูงกล้อง rotate x คือก้ม/เงย ถือว่า 1 หน่วยในฉาก = 1 เมตร ให้ตรงกับข้อมูลกอง
  2. Card สูงเท่าคนจริงวางบนพื้น (y = 0) แล้ว ScanlineRender ซ้อนบน plate ดูว่าเส้นขอบฟ้าตัดตรงเดียวกันไหม
  3. Viewer 3D (กด Tab): มองจากด้านข้างเพื่อเช็กว่ากล้องสูงและห่างเท่าที่คิด
  4. หลัง solve ด้วย CameraTracker (NukeX) ปรับ scale ของฉากให้ความสูงกล้องเท่ากับที่วัดในกอง

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

  • ✗ กล้อง CG สูงไม่เท่า plate แล้วแก้ด้วยการเลื่อน CG ใน 2D✓ แก้ความสูงกล้อง ไม่อย่างนั้นพื้นและเงาจะไม่ลงกัน
  • ✗ คิดว่ามุมต่ำต้องใช้เลนส์กว้างเสมอ✓ มุมมาจากตำแหน่งกล้อง เลนส์แค่กำหนดว่ากว้างแค่ไหน
  • ✗ ใช้ Dutch angle (roll) แทนการเปลี่ยนความสูง✓ roll คือการเอียงกรอบ ไม่ได้ทำให้เป็นมุมต่ำหรือสูง

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

  • เส้นขอบฟ้าของ CG ตรงกับ plate
  • ความสูงกล้องสมเหตุสมผลกับข้อมูลกอง
  • เส้นตั้งของ CG เอียงเท่ากับเส้นตั้งใน plate
  • มุมที่ได้สื่ออารมณ์ที่ช็อตต้องการ

5 เช็กตัวเอง

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

ใน plate เส้นขอบฟ้าตัดคนที่ยืนอยู่ตรงระดับเอว กล้องน่าจะอยู่สูงเท่าไร

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

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

คำถามเพิ่ม

1. กล้องอยู่สูง 0.3 ม. ห่างแนวราบ 3 ม. เล็งอกหุ่นที่ 1.3 ม. กล้องเงยประมาณเท่าไร

2. ใน plate เส้นขอบฟ้าอยู่ต่ำกว่าเข่าของคนที่ยืนอยู่ไกล ๆ กล้องน่าจะอยู่ที่ไหน

ตัวเลขมาจากไหน: ช่วงของชื่อมุม (±7° = eye level, กดลงเกิน 65° = overhead) เป็นแบบสอน กฎเส้นขอบฟ้าเป็นจริงสำหรับกล้อง pinhole บนพื้นราบ ไม่ว่าจะก้มเงยหรือใช้ focal เท่าไร กล้องเป็นแบบ pinhole ในอุดมคติ (ไม่มี lens distortion) เซนเซอร์กว้าง 36 มม. ครอปเป็น 16:9 (36 × 20.25 มม.) ฉากและหุ่นสร้างด้วยโค้ดใน three.js