ในบทความที่แล้วได้แนะนำการใช้วัสดุ 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