φυβλαςのβλογ
phyblasのブログ



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

ในบทความที่แล้วได้แนะนำการใช้วัสดุ 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
機械学習
-- ニューラル
     ネットワーク
maya
javascript
確率論
日本での日記
中国での日記
-- 北京での日記
-- 香港での日記
-- 澳門での日記
台灣での日記
北欧での日記
他の国での日記
qiita
その他の記事

記事の類別



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

  記事を検索

  おすすめの記事

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

ไทย

日本語

中文