φυβλαςのβλογ
บล็อกของ phyblas



ทำความเข้าใจสีสเป็กคิวลาร์ (specular) ของ standardSurface ใน arnold ใน maya
เขียนเมื่อ 2021/09/16 22:23
แก้ไขล่าสุด 2023/05/09 11:02

หลังจากที่ในบทความที่แล้วได้ลองพยายามทำความเข้าใจเกี่ยวกับสีพื้นฐาน (base) ไปแล้ว https://phyblas.hinaboshi.com/20210915

คราวนี้จะมาพูดถึงสีอีกส่วนหนึ่งที่มีความสำคัญและใช้บ่อยรองลงมา นั่นคือสีสเป็กคิวลาร์ (specular) ซึ่งเป็นสีที่เกิดเมื่อวัตถุมีการสะท้อนแสงเป็นภาพเงาเหมือนอย่างกระจก

เมื่อลองเปิดดูแอตทริบิวต์อีดิเตอร์ จะพบว่าแผง specular (スペキュラ) ซึ่งใช้ปรับสีในส่วนของสเป็กคิวลาร์นั้นอยู่เป็นลำดับที่ ๒ ถัดจากส่วนสีพื้นฐาน



ในแผง specular นั้นมีค่าที่สามารถปรับได้อยู่ ๖ ตัว ได้แก่

ชื่อแอตทริบิวต์ ชื่อที่แสดงในแผงปรับค่า ความหมาย ค่า
specular weight ウェイト น้ำหนักของสีสเป็กคิวลาร์ 0.0 ~ 1.0
specularColor color カラー สีสเป็กคิวลาร์ 0.0 ~ 1.0
0.0 ~ 1.0
0.0 ~ 1.0
spucularRoughness roughness 粗さ ความหยาบของสีสเป็กคิวลาร์ 0.0 ~ 1.0
specularIOR IOR≡ IOR≡ ดัชนีหักเหแสง ≥0.0
specularAnisotropy anisotropy 異方性 ค่าความไม่สม่ำเสมอในทิศทาง 0.0 ~ 1.0
specularRotation rotation 回転 มุมหมุนของค่าความไม่สม่ำเสมอในทิศทาง ≥0.0

ในที่นี้เราจะลองมาทำการปรับค่าต่างๆแล้วเทียบผลความแตกต่างที่ได้ดู

สำหรับตัวอย่างคราวนี้จะใช้โมเดลมุราซาเมะ (村雨むらさめ) (ที่มา https://3d.nicovideo.jp/works/td27576)




ความเปลี่ยนแปลงไปตามค่าน้ำหนักของสีสเป็กคิวลาร์

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


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




สีสเป็กคิวลาร์กับความเปลี่ยนแปลงไปตามมุมที่มอง

สีสเป็กคิวลาร์ก็สีที่สะท้อนแบบกระจก ดังนั้นเมื่อเปลี่ยนมุมมองก็จะเห็นความเปลี่ยนแปลง

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





ความเปลี่ยนแปลงไปตามค่าความหยาบ

specularRoughness คือค่าความหยาบของสเป็กคิวลาร์ ในตัวอย่างที่ผ่านมานั้นได้ตั้งให้ค่าความหยาบนี้เป็น 0 นั่นหมายความว่าผิววัสถุจะสะท้อนแสงสเป็กคิวลาร์ชัดเจนเป็นเหมือนกระจกเงา

แต่ในธรรมชาติแล้ว แสงที่สะท้อนในวัสดุที่ไม่ใช่กระจกเงามักจะมีความหยาบ ทำให้มีการกระเจิงไปยังทิศต่างๆ จึงไม่สามารถเห็นภาพสะท้อนชัดเหมือนอย่างในกระจกเงา

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


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

สำหรับผนังและพื้นที่ใช้เป็นฉากหลังนี้มีค่าความหยาบของสเป็กคิวลาร์เป็น 0.2 จึงเห็นการสะท้อนแบบพอเป็นรูปเป็นร่างอย่างที่เห็น




ความเปลี่ยนแปลงไปตามดัชนีหักเหแสง

specularIOR คือค่าดัชนีหักเหแสง ซึ่งเป็นค่าที่กำหนดสมบัติการหักเหแสงตามสมการแฟรแนล มีผลต่อปริมาณแสงที่สะท้อนและหักเหในมุมต่างๆ

ลองให้ค่าความหยาบเป็น 0.1 แล้วเปลี่ยนดัชนีหักเหแสงไปเรื่อยๆตั้งแต่ 0.1 ถึง 2.5


ในกรณีที่ค่าไม่ถึง 1 จะเกิดปรากฏการณ์การสะท้อนกลับหมด โดยยิ่งดัชนีหักเหห่างจาก 1 มากก็ยิ่งจะมีส่วนที่ถูกสะท้อนมากขึ้น การสะท้อนจะมากยิ่งขึ้น ถ้าดัชนีหักเหยิ่งเข้าใกล้ 1 ก็จะแทบไม่เห็นแสงสะท้อน




ความเปลี่ยนแปลงไปตามค่า anisotropy

specularAnisotropy คือค่าที่บอกถึงความไม่สม่ำเสมอของการสะท้อนในแต่ละทิศทาง ถ้าค่าเป็น 0 การสะท้อนก็จะสมมาตรในทุกทิศทาง เรียกว่าเป็นไอโซทรอปิก (isotropic) แต่พอ specularAnisotropy ก็จะทำให้บางทิศมีการกระเจิงเหมือนมีความหยาบขึ้นไปมากกว่า

ในตัวอย่างนี้ ลองให้ specularRoughness=0.1, specularIOR=1.5 แล้วปรับค่า specularAnisotropy ตั้งแต่ 0 ไปจนถึง 1





ความเปลี่ยนแปลงไปตามค่ามุมหมุนของ anisotropy

ค่า specularRotation คือค่ามุมของการจัดวางความไม่สม่ำเสมอ โดยค่า 1 จะเท่ากับหมุนไปเป็นมุม 180 อาจเอาไว้ใช้กับพวกโลหะที่ถูกขัดมันเพื่อควบคุมทิศทางที่ถูกขัด

ลองให้ ค่า specularRoughness=0.1, specularIOR=1.5, specularAnisotropy=0.8 แล้วเปลี่ยนค่า specularRotation ไปเรื่อยๆตั้งแต่ 0 ถึง 1 เทียบความแตกต่างดู





หากลองใช้เท็กซ์เจอร์เป็นสีสเป็กคิวลาร์

ในตัวอย่างที่ผ่านมาเราได้ใช้เท็กซ์เจอร์เป็นสีพื้นฐานไปตามปกติ แล้วจึงเติมสเป็กคิวลาร์เป็นสีขาวล้วน แต่จริงๆแล้วสีสเป็กคิวลาร์ก็สามารถใช้เท็กซ์เจอร์ได้เช่นกัน

คราวนี้จะมาลองดูว่าหากแทนที่จะเอาเท็กซ์เจอร์ใส่เป็นสีพื้นฐานแต่เอาไปใส่ให้สเป็กคิวลาร์แทนจะเป็นอย่างไร

ให้น้ำหนักสีพื้นฐานเป็น 0 แล้วให้น้ำหนักสเป็กคิวลาร์เป็น 1 ส่วน IOR=1.5 แล้วลองปรับค่าความหยาบ specularRoughness ตั้งแต่ 0 ไปจนถึง 1 เทียบความแตกต่าง


จะเห็นว่าเพราะสีพื้นฐานเป็น 0 ดังนั้นโดยรวมแล้วจึงดำมืด แต่ว่าแสงที่สะท้อนจะเป็นสีตามเท็กซ์เจอร์ ทำให้พอจะเห็นสีสันขึ้นมาได้ ยิ่งเมื่อปรับค่าความหยาบมากขึ้นมา



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

แต่เรื่องที่เกี่ยวข้องกับสเป็กคิวลาร์นั้นไม่ได้มีอยู่เท่านี้ ที่จริงแล้วยังมีอีกเรื่องที่ควรพูดถึงไปด้วยคือเรื่องของความเป็นโลหะ metalness ซึ่งเป็นค่าที่อยู่ในส่วนของ base แต่มีความเกี่ยวพันทั้งสีฐานและสเป็กคิวลาร์ และมีรายละเอียดน่าสนใจมาก ดังนั้นจะขอยกไปเขียนถึงในหน้าถัดไป





-----------------------------------------

囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧

ดูสถิติของหน้านี้

หมวดหมู่

-- คอมพิวเตอร์ >> 3D >> maya

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

สารบัญ

รวมคำแปลวลีเด็ดจากญี่ปุ่น
มอดูลต่างๆ
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
การเรียนรู้ของเครื่อง
-- โครงข่าย
     ประสาทเทียม
ภาษา javascript
ภาษา mongol
ภาษาศาสตร์
maya
ความน่าจะเป็น
บันทึกในญี่ปุ่น
บันทึกในจีน
-- บันทึกในปักกิ่ง
-- บันทึกในฮ่องกง
-- บันทึกในมาเก๊า
บันทึกในไต้หวัน
บันทึกในยุโรปเหนือ
บันทึกในประเทศอื่นๆ
qiita
บทความอื่นๆ

บทความแบ่งตามหมวด



ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ

  ค้นหาบทความ

  บทความแนะนำ

ตัวอักษรกรีกและเปรียบเทียบการใช้งานในภาษากรีกโบราณและกรีกสมัยใหม่
ที่มาของอักษรไทยและความเกี่ยวพันกับอักษรอื่นๆในตระกูลอักษรพราหมี
การสร้างแบบจำลองสามมิติเป็นไฟล์ .obj วิธีการอย่างง่ายที่ไม่ว่าใครก็ลองทำได้ทันที
รวมรายชื่อนักร้องเพลงกวางตุ้ง
ภาษาจีนแบ่งเป็นสำเนียงอะไรบ้าง มีความแตกต่างกันมากแค่ไหน
ทำความเข้าใจระบอบประชาธิปไตยจากประวัติศาสตร์ความเป็นมา
เรียนรู้วิธีการใช้ regular expression (regex)
การใช้ unix shell เบื้องต้น ใน linux และ mac
g ในภาษาญี่ปุ่นออกเสียง "ก" หรือ "ง" กันแน่
ทำความรู้จักกับปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง
ค้นพบระบบดาวเคราะห์ ๘ ดวง เบื้องหลังความสำเร็จคือปัญญาประดิษฐ์ (AI)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ

ไทย

日本語

中文