หน้าแรก · Lab · Integration

I4 Grain ครั้งเดียว ตอนท้าย

แก้กราฟที่ใส่ grain ซ้ำทีละ element

Integration · ~6 นาที · ฟรี

1 อธิบาย

ถ้าใส่ grain ให้ทุก element แล้วค่อย merge ขอบนุ่ม ส่วนที่โปร่ง และส่วนที่ plus ซ้อนกันจะได้ grain สองชั้น และ blur หรือ grade หลังจากนั้นจะเปลี่ยน grain ไปด้วย ทางที่ถูกคือใส่ grain ครั้งเดียวเป็น node สุดท้าย

grain ของกล้องจริงแต่ละช่องไม่เท่ากัน ส่วนใหญ่ช่องน้ำเงินแรงที่สุด ดู r, g, b ทีละช่องที่ viewer

2 ลงมือใน mini compositor

โจทย์: ปิด Grain สองตัวบนแต่ละ element แล้วเปิด Grain ตัวท้าย

SkyVFX mini compositor · I4640×360 · float · 1001

3 เจาะลึก

grain ครั้งเดียว และเป็นโหนดสุดท้าย

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

หลัง grain ห้ามมี Transform, Blur หรือ Grade เพราะ filter จะทำให้เม็ด grain นิ่มลง และ grade จะเปลี่ยนความแรงของมัน ลำดับท้าย tree คือ lens distortion → grain → crop/write

  1. 1Comp บน plate ที่ denoise
  2. 2Lens distortion
  3. 3Grain ครั้งเดียว
  4. 4Crop / Write

แมทช์ทีละ channel

noise ของกล้องดิจิทัลแยกกันในแต่ละ channel ให้ดูทีละ r, g, b ที่ขนาด 1:1 บนพื้นที่เรียบ ๆ ของ plate เทียบกับ comp ส่วนใหญ่ช่องสีน้ำเงินมี grain แรงที่สุด และมักเม็ดใหญ่กว่าช่องอื่น

แมทช์ในโทนมืดก่อน แล้วค่อยไปโทนกลางและสว่างโดยไม่ไปแตะค่าโทนมืดอีก

คุณสมบัติดูอะไร
ความแรงเม็ดเด่นแค่ไหนบนพื้นเรียบ
ตามความสว่างแรงต่างกันแค่ไหนในมืด กลาง สว่าง
ขนาดเม็ดใหญ่หรือละเอียด
ความนุ่มขอบเม็ดคมหรือเบลอ
ความไม่สม่ำเสมอเป็นกระจุกด่าง ๆ แค่ไหน

แนวคิดแบบ DasGrain

grain ของ plate = plate − plate ที่ denoise แล้ว จากนั้นหารด้วยการตอบสนองต่อความสว่างของ plate ให้ได้ grain ที่ "แบน" เท่ากันทุกโทน แล้วคูณกลับด้วยการตอบสนองเดียวกันนั้น โดยอ่านค่าที่ความสว่างของ comp ก่อนบวกลงไป grain จึงแรงหรือเบาถูกที่ตามภาพใหม่

ภาพ grain ที่ normalise แล้วต้องดูเรียบ ไม่มีรูปทรงของภาพ ถ้าเห็นเส้นขอบเนินเขาหรือตัวหุ่นยนต์โผล่ แปลว่า denoise กินรายละเอียดไปด้วย และรายละเอียดนั้นจะถูกบวกกลับเป็น grain

  1. 1Plate − denoise
  2. 2Normalise ตาม plate
  3. 3ปรับตาม comp
  4. 4บวกกลับ

แก้กราฟที่ใส่ grain ซ้ำ

กราฟตัวอย่างในบทนี้ใส่ grain บน plate และบนหุ่นยนต์แยกกัน แก้โดยปิด grain ทั้งสองตัวนั้น แล้วใช้ grain ตัวเดียวที่ท้าย tree

plate ใน Lab เป็นภาพ render ที่สะอาด จึงใส่ grain ทั้งภาพได้ แต่ plate จริงมี grain ของตัวเองอยู่แล้ว ถ้า comp บน plate ต้นฉบับ grain ตัวท้ายควรลงเฉพาะตรงที่มีพิกเซลใหม่ โดยใช้ alpha ของ element ที่รวมกันเป็น mask ไม่อย่างนั้น plate จะได้ grain สองชั้น ถ้า comp บน plate ที่ denoise (แบบขั้นตอนข้างบน) ให้ใส่ grain แล้ว Keymix plate ต้นฉบับกลับมานอก alpha ของ element ส่วนที่ไม่ได้แตะจะกลับเป็น plate จริงพร้อม grain จริงของมัน

grain ต้องขยับทุกเฟรม ถ้ามันนิ่ง ให้ animate ค่า seed

4 ในงานจริง

ทำใน Nuke

  1. Denoise plate แล้ว precomp เป็น EXR comp ทั้งหมดบน plate ที่ denoise
  2. ลบ Grain ที่อยู่บนแต่ละ element ออกให้หมด
  3. ท้าย tree: DasGrain (gizmo ฟรี ไม่ได้มากับ Nuke เสียบ comp, plate, plate ที่ denoise) หรือโหนด Grain ที่ปรับ size/irregularity/intensity แยก r g b
  4. คืน plate ต้นฉบับนอก element: Keymix โดย B = plate ต้นฉบับ, A = comp ที่ใส่ grain แล้ว, mask = alpha ของ element ที่รวมกัน (ChannelMerge หรือ Merge max) ถ้า comp บน plate ต้นฉบับ ให้ใช้ alpha เดียวกันนี้จำกัด grain ใหม่แทน
  5. หลัง grain มีได้แค่ Crop ไป output (หรือ Reformat ที่ไม่ย่อขยายภาพ) และ Write

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

  • ✗ ใส่ grain แยกบนทุก element✓ grain ตัวเดียวที่ท้าย tree ส่วนนอกสิ่งที่เพิ่มเข้าไปให้คงเป็น plate ต้นฉบับ
  • ✗ Transform หรือ Grade ต่อหลัง grain✓ ย้ายขึ้นไปก่อน grain
  • ✗ ใช้ grain เท่ากันทุก channel✓ แมทช์ r g b แยก โดยทั่วไป blue แรงสุด
  • ✗ grain นิ่งเหมือนกันทุกเฟรม✓ ตรวจ seed ให้เปลี่ยนตามเฟรม

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

  • มี grain แค่ตัวเดียวใน tree
  • หลัง grain ไม่มี Transform, Blur หรือ Grade
  • ดูทีละ channel ที่ 1:1 แล้ว grain ใหม่กับ plate ดูเหมือนกัน
  • ภาพ grain ที่ normalise แล้วไม่มีรูปทรงของภาพโผล่
  • plate ส่วนที่ไม่ได้แตะคือ plate ต้นฉบับ ไม่มี grain ซ้อนสองชั้น และ grain ไม่หาย
  • เล่นดูแล้ว grain ขยับทุกเฟรม

5 เช็กตัวเอง

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

ทำไม grain ต้องอยู่ท้ายสุด

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

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

คำถามเพิ่ม

1. กราฟมี Grain บนหุ่นยนต์ ประกายไฟ และหมอก แยกกันสามตัว ควรแก้อย่างไร

2. หลังโหนด grain มีอะไรได้บ้าง

ตัวเลขมาจากไหน: ภาพคำนวณในเบราว์เซอร์ Saturation, Multiply, Clamp, Invert, Keymix, Copy และ Grade ตรงกับ Nuke 17.0v2 (ตรวจแล้ว) ส่วน Blur, Defocus, Glow, Sharpen, ChromaticAberration, Vignette, LensDistort, Grain, Erode, Toe, Keyer และ Despill เป็นแบบสอนหลักการ ไม่เท่า node ใน Nuke เป๊ะ Transform ในห้องนี้ก็เป็นแบบสอนหลักการเช่นกัน ใช้ bilinear ไม่ concatenate และตัดขอบที่เฟรม ภาพเป็นเรนเดอร์ Blender ของเราเอง (green screen สร้างด้วยโค้ดล้วน ฉากทะเลทรายใช้ภูเขาจาก Gaea 2.3 ท้องฟ้าเป็น HDRI CC0 จาก Poly Haven หินและหญ้าจาก Poly Haven CC0 ทรายและหินผาจาก Quixel และ rig หุ่นจาก Mixamo โดย Quixel และ Mixamo ใช้ในเรนเดอร์เท่านั้น)