Tuesday, January 27, 2015

เสริมความสมจริงให้ Material (2) - ทองคำ

 ต่อยอดเทคนิกจากบทที่แล้ว บทนี้เราจะลองมาหาข้อมูล แล้วสร้าง material ทองคำกัน ซึ่งเราจะใช้ Sampler Info และ Remap Value กันเยอะทีเดียว ใครยังไม่คุ้นเคยกับ 2 node นี้ลองย้อนกลับไปอ่านบทที่แล้วก่อนนะครับ

เราจะสร้าง node เยอะมาก การตั้งชื่อให้อ่านรู้เรื่อง จะทำให้ชีวิตคุณง่ายขึ้น มาก ถึงมากที่สุด

เริ่มกันเลยดีกว่า นี่คือเวบไซต์ที่เราจะใช้อ้างอิง Refractive Index .info


จะเห็นว่าเวบนี้ต้องการ input เป็นความยาวคลื่น เราก็จะนำความยาวคลื่น สีแดง เขียว และน้ำเงินมาใส่ ซึ่งสามารถหาได้จาก wikipedia เซิช red, green, blue


นำค่ากลางมาหาร 1000 (1 nm = 0.001 µm) กรอกลงในช่อง wavelength ... แล้วเลื่อนหน้าจอลงไปที่กราฟ Reflection Calculator

เส้นที่เราสนใจคือเส้นสีเขียว

Red = 0.68 µm
Green = 0.5325 µm
Blue = 0.4725 µm

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

ค่าที่เราสนใจ คือ Non-polarized

เริ่มจากสร้าง Vray material ผมตั้งชื่อว่า gold0
สำหรับทองคำ สีที่เห็นทั้งหมดเกิดจาก reflection 100% ดังนั้นปรับ diffuse color เป็นสีดำ
brdf ผมปรับเป็น ward เพราะให้ไฮไลท์ที่เหมาะกับโลหะมากกว่า

 เราจะไม่ใช้ Fresnel ที่มา material แล้ว เอาติ๊กออกได้เลย

และนี่คือ connection ของเรา ไม่ต้องงงนะครับเหมือนบทที่แล้วทุกอย่าง แค่ Remap จะซ้ำกัน 3 รอบ สำหรับ R G B แยกกันออกมา
ที่ต้องระวัง คือ โดย default เวลาเชื่อมออกจาก Remap มันจะต่อ Output Color ให้

เปิดกราฟ remap value แต่ละตัวขึ้นมาปรับเส้นเลียนแบบกราฟจากเวบ refractive index โดยอย่าลืมว่าต้องกลับข้างซ้ายเป็นขวา


** สำหรับใครที่ใช้ linear workflow เมื่อดูจาก preview จะเห็นว่ามันซีดๆ ไม่สมเป็นทองเอาเสียเลย

เห็นซีดปุ๊บน่าจะเดากันได้... ว่าต้องทำ gamma correction นั่นเองครับ
สร้าง gammaCorrection node ขึ้นมา แล้วต่อตามภาพ

จะเห็นว่า swatch preview เริ่มดูสมเป็นทองขึ้นมาแล้ว... กราฟที่เราทำไว้ถือเป็นจุดเริ่มต้นเท่านั้น สามารถปรับเปลี่ยนปรับโทนสีให้ตรงตามความต้องการได้ตามอัธยาศัย

คั่นเวลาบ่นนิดหน่อย ที่เราต่อ node กันแทบตายนั้นสามารถทำได้ด้วยคลิ๊กเดียวใน MAX ... แค่แปะ fall off ไปบน reflection เท่านั้น เราก็จะได้กราฟ R G B จบในตัวเดียว แถมมี handler ใช้ง่ายซะด้วย
Fall Off ของ MAX สามารถปรับกราฟ R G B จบในตัวเดียว

แต่ไม่เป็นไรมาลุย Maya กันต่อ

จากบทความก่อนเราใช้ material เดียวกันเรนเดอร์ 3 รอบที่ glossiness ต่างกันแล้วนำไปซ้อนใน Photoshop เราจะนำไอเดียเดียวกันนี้มาใช้ โดย gold 0 ที่ทำไว้ เราจะใช้เป็น material ชั้นล่างสุด

ผมต่อ Remap คุม glossiness แบบเดียวกับบทที่แล้ว และทดลองดูจนพบค่าที่คิดว่าน่าจะใช้ได้ที่ ราว 0.8

 

สลับมาใช้ลูกบอลธรรมดาและลด quality ลงเพื่อประหยัดเวลา test render

ต่อไปก็คือ material ที่จะนำมาซ้อน ผมสร้าง Vray material 2 อัน ตั้งชื่อตามลำดับว่า gold1 และ gold2

gold 1 และ 2 เราจะใช้ reflection เดียวกันกับ gold0 จึงสามารถนำ remap R G B ที่ทำไว้แล้วมาต่อใหม่ได้เลย ซึ่งขั้นตอนนี้ ปุ่ม add node และ remove node จะช่วยให้จัดระบบ editor ได้ง่ายมาก

** remove ในที่นี้ จะเอา node ออกไปจาก editor เท่านั้น ไม่ได้ลบทิ้ง
 ตัวอย่าง ผม remove gold0 และ remap glossiness ของมันออกไปก่อน เพื่อเตรียมทำงานกับ gold1

ทดสอบ gold 1 ที่ค่า glossiness 0.9

ทีนี้เราจะลองเอา gold 1 ทับ gold 0 ดูด้วย Vray Blend Mtl และอย่าลืมสร้าง remap value อีกอันหนึ่งด้วย
จะเห็นว่าเรายังไม่หมดเวรหมดกรรมกับ Sampler Info

ต่อ gold0 เป็น base material
ต่อ gold1 เป็น coat ชั้นแรก

remap value จะทำหน้าที่คล้าย Fresnel เราจะต่อมันกับ blend amount เพื่อให้ gold1 เห็นได้ชัดกว่าที่ 90 องศา

ข้อควรระวัง... คือเราลากเม้าส์กลางแบบนี้เพื่อต่อไม่ได้ เพราะมันจะต่อ out Color ให้

เราจำเป็นต้องลงไปต่อ Out Value ไปยัง blend R G B ด้วยตัวเองตามภาพ

และนี่คือผลจากการซ้อนกัน ถ้าสังเกตดีๆ จะพอดูออก ว่ามีเงาเบลอล้อมรอบเงาคมอยู่ เป็นการผสมผสานกันของเงาต่างคุณภาพกัน

จากนั้นจะเป็นตาของ gold2 ซึ่งเป็น material ชั้นนอกสุด ผมใช้ glossiness 0.98
gold2, glossiness 0.98

ซึ่งผมต้องการให้มันแสดงเฉพาะด้านที่ใกล้ 90 องศาจริงๆ ดังนั้นกราฟ Blend ทุกอย่างจึงไปกระจุกอยู่ริมซ้าย

ผลจากการ blend

ก็เป็นอันจบบทความที่ 2 เท่านี้ครับ พูดกันตามตรง โมเดลกลมอย่างนี้ไม่ค่อยเหมาะกับการทดสอบ material เอาเสียเลย หากมีเหลี่ยมมุมมากกว่านี้จะดีกว่านี้มาก

อย่างไรก็ตาม หวังว่า 2 บทความที่ผ่านมาจะสามารถช่วยปูพื้นฐานให้พอเข้าใจแนวคิดแล้วนะครับ ในบทต่อไปผมนำ Texture มาใช้ควบคู่กับเทคนิกนี้ด้วย รับรองว่าได้ต่อ node ใหม่ๆ กันสนุกสะใจแน่นอน คอยติดตามครับ

>> ตอน 3: เหล็ก

No comments:

Post a Comment