หน้าแรก · Lab · Comp Foundations

F5 Layer vs Node

ช็อตเดียวกัน สองวิธีคิด: After Effects/Photoshop กับ Nuke/Fusion/Natron/Blender

Comp Foundations · ~8 นาที · ฟรี (ต้นแบบ)

1 อธิบาย

โปรแกรมแบบ layer (After Effects, Photoshop) เรียงภาพเป็นชั้น ชั้นบนทับชั้นล่าง โหมด blend เช่น Normal หรือ Add คือการ merge แบบหนึ่ง โปรแกรมแบบ node (Nuke, Fusion, Natron, Blender compositor) เขียนลำดับเดียวกันเป็นสาย node

ปรับ layer ในแผง Layers แล้วดู node graph เปลี่ยนตาม Normal = over, Add = plus, Opacity = mix ช็อตเล็ก ๆ สองแบบเท่ากัน แต่พอต้องใช้ภาพเดียวกันซ้ำหลายที่ หรือแตกสาย แบบ node จะเห็นภาพชัดกว่า

2 ลงมือใน mini compositor

SkyVFX mini compositor · F5640×360 · float · 1001
กำลังโหลดแบบฝึก… · Loading the exercise…

3 เจาะลึก

คณิตเดียวกัน แค่วาดต่างกัน

โหมด blend ในโปรแกรมแบบ layer ส่วนใหญ่มีคู่ใน Merge ของ Nuke ถ้ารู้สูตรของ Merge ก็อ่านโปรแกรมไหนก็ได้

แบบ layerNukeสูตร
NormalMerge overA + B·(1−a)
AddMerge plusA + B
MultiplyMerge multiplyA·B
Opacityช่อง mix ของ MergeB + mix·(op − B)
Track matte (alpha)Merge maskB·a

บนของ stack = A ล่าง = B

stack ของ layer อ่านจากล่างขึ้นบน ใน Nuke ทุก Merge รับ B คือของที่อยู่ข้างหลัง และ A คือของที่วางทับ ห้า layer จึงกลายเป็น Merge สี่ตัวเรียงลงตามสาย B

adjustment layer คือ node สี เช่น Grade ที่วางต่อจาก Merge มันมีผลกับทุกอย่างที่รวมมาถึงจุดนั้น

  1. 1plate (B)
  2. 2over หุ่น
  3. 3plus ประกายไฟ
  4. 4Grade (adjustment)
  5. 5Write

opacity คือ mix

mix ของ Merge ผสมผลลัพธ์กลับไปหา B: B + mix·(op − B) สำหรับ over ที่ mix m จะได้ m·A + B·(1 − m·a) เท่ากับการจาง element ลงเหลือ m เหมือน opacity ของ layer Normal

สำหรับ plus ที่ mix m ได้ B + m·A เท่ากับ Add ที่ opacity m

แต่ละแบบเด่นตรงไหน

node เด่นเมื่อต้องแตกสาย: Read หุ่นตัวเดียวส่งไปทั้งตัวจริงและเงาสะท้อน แก้ที่ต้นทางครั้งเดียว ดู Viewer ที่ node ไหนก็ได้ และเห็นทางเดินของข้อมูลชัด

layer เด่นในงาน motion design สั้น ๆ ที่ timing บน timeline สำคัญ Fusion, Natron และ Blender compositor คิดแบบ node เหมือน Nuke ใน Blender ใช้ Alpha Over แทน over และ Mix (Add) แทน plus

ย้ายโปรแกรมเมื่อไร ให้เช็กก่อนว่ามันจัดการ premult อย่างไร

4 ในงานจริง

ทำใน Nuke

  1. แต่ละ layer → Read (หรือ Constant/Roto) บนสายของตัวเอง
  2. blend mode → operation ของ Merge (over, plus, multiply…)
  3. opacity → ช่อง mix ของ Merge
  4. adjustment layer → Grade ใต้ Merge บนสายหลัก
  5. track matte → Merge mask หรือ Copy alpha แล้ว Premult
  6. precomp → Group หรือ Write แล้ว Read กลับมา

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

  • ✗ เอา plate เสียบ A และ element เสียบ B✓ over จะวาง plate ทับ element ให้ B เป็นของข้างหลังเสมอ
  • ✗ ใช้ screen กับแสงเพราะเคยใช้ในโปรแกรม layer✓ ใน Nuke ถ้าค่าฝั่งใดเกิน 1 screen จะคืนค่า max(A, B) แทนการบวก แสงของ plate จึงหายไป ใช้ plus กับแสง HDR
  • ✗ ก๊อป Read ซ้ำทุกครั้งที่ใช้ภาพเดิม✓ แตกสายจาก Read ตัวเดียว (ใช้ Dot ช่วย) แก้ครั้งเดียวมีผลทุกที่
  • ✗ วาง Grade แบบ adjustment ไว้บนสายของ element✓ บนสาย element จะโดนแค่ element นั้น ถ้าจะให้โดนทั้งภาพ วางหลัง Merge

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

  • ทุก Merge มี B เป็นของข้างหลัง
  • operation ตรงกับชนิด element (แสง = plus, ของทึบ = over)
  • ภาพที่ใช้ซ้ำแตกสายจาก Read เดียว
  • grade ทั้งภาพอยู่หลัง Merge บนสายหลัก

5 เช็กตัวเอง

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

อยากใช้ภาพหุ่นตัวเดียวกันสองที่ (ตัวจริง + เงาสะท้อน) แบบไหนทำได้ตรงกว่า

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

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

คำถามเพิ่ม

1. layer โหมด Normal opacity 50% ตรงกับอะไรใน Nuke

2. adjustment layer บนสุดของ stack ที่มีผลกับทุกชั้น ใน Nuke ควรวาง Grade ตรงไหน

ตัวเลขมาจากไหน: สูตร Merge, Grade, Premult, Unpremult ในห้องนี้ตรงกับ Nuke 17.0v2 ครบ 109 กรณีทดสอบ (เทียบตัวเลขจาก Nuke จริง) ส่วน Blur และ Transform เป็นแบบง่าย ใกล้เคียงแต่ไม่เท่า Nuke เป๊ะ ภาพทั้งหมดเรนเดอร์จาก Blender จากฉากของเราเอง: วางฉากด้วยโค้ด ภูเขาเป็น terrain ที่สร้างใน Gaea 2.3 (Community, build แบบ headless) ท้องฟ้าเป็น HDRI CC0 จาก Poly Haven หินและหญ้าแห้งจาก Poly Haven (CC0) texture ทรายและหินผาจาก Quixel และหุ่นบน rig จาก Mixamo (Quixel และ Mixamo ใช้ในเรนเดอร์เท่านั้น ไม่มีไฟล์ต้นฉบับแจก)