φυβλαςのβλογ
phyblas的博客



ทำความเข้าใจสีพื้นฐาน (base) ของ standardSurface ใน arnold ใน maya
เขียนเมื่อ 2021/09/15 23:43
แก้ไขล่าสุด 2023/04/25 05:41

ในบทความที่แล้วได้แนะนำการใช้วัสดุ standardSurface โดยผ่าน preset วัสดุชนิดต่างๆมาแล้ว https://phyblas.hinaboshi.com/20210914

คราวนี้จะมาลองเจาะลึกถึงค่าต่างๆไปทีละส่วน โดยจะขอเริ่มจากค่าในส่วนของ base (ベース) ซึ่งเป็นส่วนของสีพื้นฐาน ถ้าดูในแอตทริบิวต์อีดิเตอร์จะพบว่าอยู่ในแถบบนสุด



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

ชื่อแอตทริบิวต์ ชื่อที่แสดงในแผงปรับค่า ความหมาย ค่า
base weight ウェイト น้ำหนักของสีพื้นฐาน 0.0 ~ 1.0
baseColor color カラー สีพื้นฐาน 0.0 ~ 1.0
0.0 ~ 1.0
0.0 ~ 1.0
diffuseRoughness diffuse roughness 拡散の粗さ ความหยาบของการแพร่ของสี 0.0 ~ 1.0
metalness metalness メタル性 ความเป็นโลหะของวัสดุ 0.0 ~ 1.0

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




ความเปลี่ยนแปลงไปตามค่าน้ำหนักของสีพื้นฐาน

ปกติค่าสีจริงๆที่ปรากฏนั้นจะเท่ากับค่าน้ำหนัก base ซึ่งเป็นค่าเลขตัวเดียวที่มีค่าตั้งแต่ 0 ถึง 1 คูณด้วยค่าสี baseColor คือค่าตัวเลข ๓ ค่าที่แสดงปริมาณส่วนผสมสีแดง เขียว น้ำเงิน ซึ่งก็มีค่าตั้งแต่ 0 ถึง 1 เหมือนกัน

ในที่นี้ขอแสดงตัวอย่างทดสอบโดยใช้โมเดล อุมิกาเซะ (海風うみかぜ) (ที่มา https://3d.nicovideo.jp/works/td24340)

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

ลองดูความแตกต่างเมื่อปรับค่า weight ตั้งแต่ 0 ไปจนถึง 1 โดยค่าอื่นทั้งหมดให้คงเดิมตลอด รวมทั้งแสงไฟและฉากหลังด้วย


ถ้าค่า weight สีพื้นฐานเป็น 0 วัตถุก็จะดำมืด ไม่ว่าจะตั้งค่าสีเป็นสีอะไรก็ตาม เพราะจะถูกคูณด้วย 0 หมด

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

การปรับสีของวัสดุนั้นอาจจะปรับที่ weight หรือปรับ baseColor เอาก็ได้ เช่นถ้าต้องการผิวดำมืดก็อาจทำโดยใช้สีดำ (0,0,0) หรือตั้ง weight ของส่วน base เป็น 0 ก็ได้เหมือนกัน

อย่างไรก็ตามสำหรับวัสดุโดยทั่วไปนั้นปกติแล้วเราจะให้ค่าน้ำหนักในส่วนของ base นี้เป็น 1 แล้วปรับค่าสี baseColor เอา ไม่ต้องไปปรับค่านี้โดยตรง

สำหรับตัวอย่างต่อจากนี้ไปก็จะตั้งค่า base เป็น 1 ไว้ตลอด




ความเปลี่ยนแปลงไปตามปริมาณแสงที่ส่อง

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

ลองมาดูภาพที่เปลี่ยนไปเรื่อยๆตามปริมาณแสง โดยในที่นี้ใช้ไฟ arnold area light อันเดียวส่องมาจากด้านหน้า ทำเฉียงไป 30 องศา

ความสว่างของ arnold area light นั้นจะขึ้นอยู่กับค่า exposure เป็นหลัก โดยความสว่างแปรตามเลขสองยกกำลัง exposure ดังนั้นถ้าค่ามากขึ้น 1 ก็หมายถึงสว่างขึ้นสองเท่า

ลองเปลี่ยนค่า exposure ของแสงแล้วดูความแตกต่างที่เกิดขึ้น





ความเปลี่ยนแปลงไปตามมุมที่แสงส่อง

นอกจากปริมาณแสงแล้ว ความสว่างยังขึ้นกับมุมที่แสงฉายเข้ามาด้วย ยิ่งแสงกระทบตั้งฉากก็จะยิ่งสว่าง

ลองปรับมุมของแสงไฟที่ส่องเข้ามาดูโดยคงปริมาณแสง แล้วดูความเปลี่ยนแปลงได้





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

สำหรับค่า diffuseRoughness นั้นคือความหยาบในการแพร่ของสี โดยวัสดุหยาบนั้นจะมองเห็นสีตามแบบจำลองของโอเรน-นายาร์ (Oren-Nayar) ส่วนวัสดุที่ไม่หยาบจะเป็นตามแบบจำลองของลัมแบร์ท (Lambert)

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

ยิ่งค่าเข้าใกล้ 1 จะมองเห็นพื้นผิวดูหยาบมากขึ้น แต่จริงๆถึงจะปรับค่าไปก็ไม่ได้เห็นความแตกต่างมากมายนัก

ลองเปรียบเทียบค่าความเปลี่ยนแปลงเมื่อปรับความหยาบให้มีค่าเปลี่ยนไป


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




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

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

ลองดูตัวอย่างความเปลี่ยนแปลงเมื่อให้แสงฉายจากที่เดิมตลอด แล้วหมุนกล้องให้มองจากมุมต่างๆกันไป


จะเห็นว่าส่วนที่มืดก็ยังมืดอยู่ตลอด การเปลี่ยนมุมมองไม่ได้ทำให้มองเห็นความมืดหรือสว่างต่างไปนัก

เพียงแต่หากมีสีในส่วน specular ปนอยู่ด้วยแล้วผลก็จะต่างออกไปตามมุมมองอย่างเห็นได้ชัด ซึ่งเรื่องนี้จะยกไปเขียนถึงในบทความถัดไปอีกที https://phyblas.hinaboshi.com/20210916






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

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

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

หมวดหมู่

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

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

目录

从日本来的名言
模块
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
机器学习
-- 神经网络
javascript
蒙古语
语言学
maya
概率论
与日本相关的日记
与中国相关的日记
-- 与北京相关的日记
-- 与香港相关的日记
-- 与澳门相关的日记
与台湾相关的日记
与北欧相关的日记
与其他国家相关的日记
qiita
其他日志

按类别分日志



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

  查看日志

  推荐日志

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