φυβλαςのβλογ
บล็อกของ 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)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ

บทความแต่ละเดือน

2024年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2023年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2022年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2021年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2020年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

ค้นบทความเก่ากว่านั้น

ไทย

日本語

中文