การเรนเดอร์ตามกายภาพ (PBR) ทำให้คุณสามารถแสดงผลการตั้งค่าของแสงและเงาที่สมจริงโดยการใช้ประเภทภาพพื้นผิวหลายประเภทหรือ แผนที่ บนวัตถุเดียว การรวมแผนที่พื้นผิวหลายๆ แผนที่สามารถเลียนแบบสี ความหยาบ และความสะท้อนในสภาพแสงต่างๆ ได้อย่างแม่นยำมากขึ้น และสามารถเสริมสร้างธาตุภาพพจน์ของทรัพย์สินและสภาพแวดล้อมของคุณได้


มีแอปพลิเคชันและเวิร์กโฟลว์ต่างๆ ที่สามารถใช้สร้างพื้นผิว PBR คุณสามารถใช้สิ่งเหล่านี้ในระหว่างขั้นตอนการโมเดลลิ่งและการสร้างพื้นผิว 3D วัตถุที่กำหนดเอง ตราบใดที่ Roblox Studio สนับสนุน แผนที่พื้นผิวที่เฉพาะเจาะจงที่คุณใช้
คู่มือนี้ให้คำแนะนำเกี่ยวกับ การตั้งค่า วัตถุเมชของคุณเพื่อใช้แผนที่พื้นผิว PBR และอธิบายกรณีการใช้งานที่พบบ่อยและแนวทางปฏิบัติที่ดีที่สุดสำหรับ PBR ที่รองรับโดย Roblox แผนที่พื้นผิว เมื่อสร้างพื้นผิวของคุณเอง โปรดดูที่ เอกสารอ้างอิงวัสดุ สำหรับค่าเอกสารวัสดุทั่วไป การเปรียบเทียบภาพ และตัวอย่างเสื้อผ้า
เปิดใช้งานการแสดงพื้นผิว
คุณสามารถเพิ่มพื้นผิว PBR ลงใน MeshPart ใดๆ โดยการเพิ่มวัตถุ SurfaceAppearance ซึ่งจะเขียนทับพื้นผิวที่กำหนดไว้เดิม โดยทั่วไปแล้วคุณไม่สามารถปรับแต่งค่าของ SurfaceAppearance ผ่านสคริปต์ในระหว่างเกมได้ เนื่องจากเอนจินต้องการการประมวลผลล่วงหน้าเพื่อแสดงกราฟิกเหล่านี้ คล้ายกับการเพิ่มพื้นผิวพื้นฐาน แต่ละแผนที่ภาพพื้นผิวจะต้องชี้ไปยัง ID ทรัพย์สินของภาพที่อัปโหลดที่เหมาะสม
ในการเปิดใช้งานการแสดงพื้นผิวสำหรับ MeshPart:
ในหน้าต่าง Explorer ให้ชี้ไปที่ MeshPart และคลิกปุ่ม ⊕
แทรก SurfaceAppearance จากเมนูบริบท

เมื่อคุณพร้อมที่จะเพิ่มแผนที่พื้นผิวลงในวัตถุ SurfaceAppearance คุณสามารถคลิกที่แต่ละคุณสมบัติแผนที่ในหน้าต่าง Properties และป้อน ID ทรัพย์สิน
แผนที่พื้นผิว
Studio รองรับ 5 ประเภทของแผนที่พื้นผิว PBR: สี, ปกติ, ความหยาบ, ลักษณะโลหะ, และ แผ่นสะท้อนแสง แผนที่แต่ละแผนที่นี้เกี่ยวข้องกับด้านสำคัญของลักษณะพื้นผิวของวัตถุ แผนที่พื้นผิวเปลี่ยนแค่ลักษณะภาพเท่านั้นและไม่ส่งผลกระทบต่อรูปทรงของวัตถุ MeshPart
ดูตัวอย่างต่อไปนี้เพื่อให้ภาพรวมเกี่ยวกับแผนที่พื้นผิวที่รองรับโดย Roblox และทรัพยากรเสริม:
ค่าของ ColorMap กำหนดข้อมูลสีของพื้นผิว รวมถึงความโปร่งใสที่มีอยู่ในแผนที่ ดูที่ สี (albedo) สำหรับข้อมูลเพิ่มเติม



สี (albedo)
สี หรือ albedo จะกำหนดสีของพื้นผิวของคุณและประกอบด้วยข้อมูลสีส่วนใหญ่ โดยมีข้อมูลการตั้งค่าหรือพื้นผิวที่น้อยมากหรือไม่มีเลย สำหรับการปรับแต่งเพิ่มเติม คุณยังสามารถเพิ่ม ความโปร่งใส ในพื้นผิว albedo ของคุณโดยการเพิ่มความทึบลงในแผนที่ภาพของคุณ
โหมด alpha
สำหรับวัตถุที่ต้องการความโปร่งใสบางส่วนหรือเต็มรูปแบบ เช่น หญ้า ใบไม้ ลูกไม้ หรือการตกแต่งเช่น ดินหรือสกปรก คุณสามารถใช้โหมด alpha ที่แตกต่างกันเพื่อเพิ่มความโปร่งใสในแผนที่สีของคุณ หากรูปแบบภาพของแผนที่สีของคุณสนับสนุนช่องทาง alpha คุณสามารถใช้แผนที่ alpha เกรย์สเกลซึ่ง 0.0 หมายถึงโปร่งใสและ 1.0 หมายถึงทึบ นอกจากนี้ ขณะใช้รูปแบบภาพเช่น .png ความทึบใดๆ ในแผนที่สีจะนำไปใช้เป็นความโปร่งใสในทรัพย์สิน
คุณสามารถใช้ความโปร่งใสในสองพฤติกรรมที่แตกต่างกัน โดยการตั้งค่า AlphaMode ดังต่อไปนี้:
- Overlay — ซีด ColorMap ลงไปยัง MeshPart.Color ของเมชข้างใต้ แผนที่สีที่ใช้โหมด overlay จะเปิดเผยสีพื้นฐานของเมชได้ทุกที่ที่มีความโปร่งใส นี่เป็นการตั้งค่าเริ่มต้น
- ความโปร่งใส — จะลบเมชที่มองเห็นได้ตามความโปร่งใสใน ColorMap ทำให้เมชโปร่งใสและไม่แสดงสีเมชที่ต้นฉบับเมื่อนั้นมีความโปร่งใส
ทึบ
คุณสามารถใช้โหมด Enum.AlphaMode.Opaque เพื่อไม่ให้คำนึงถึงช่องทาง alpha ของ ColorMap เมื่อตั้งค่า alpha จะถือว่ามีค่าเป็น 1 (ทึบโดยสมบูรณ์)
ตัวอย่างต่อไปนี้แสดงวิธีการทำงานของโหมด Opaque โดยใช้วัตถุสีฟ้าเป็นแบบอ้างอิง:
Overlay
คุณสามารถใช้ Enum.AlphaMode.Overlay เพื่อเปิดเผยส่วนต่างๆ ของสีเมชเดิม เนื่องจากพื้นที่ที่โปร่งใสในแผนที่สีจะเปิดเผยสีที่อยู่ด้านล่าง คุณสามารถออกแบบแผนที่พื้นผิวที่ไม่ซ้ำกัน ซึ่งเปิดเผยบางส่วนหรือทั้งหมดของคุณสมบัติสี Color สำหรับโทนสีผิวที่ไม่ซ้ำกันหรือตัวอย่างอื่น ๆ ที่มีสีเฉพาะ
ตัวอย่างต่อไปนี้แสดงวิธีการทำงานของโหมด Overlay โดยใช้ทรงกลมสีฟ้าอ่อนเป็นแบบอ้างอิง:
ตัวอย่างต่อไปนี้ใช้โหมด Overlay สำหรับตัวละครที่กำหนดเอง เปิดเผยโทนสีผิวเดิมของตัวละคร:


ดูที่ โทนสีผิวที่ปรับแต่ง สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการปรับแต่ง overlay สำหรับผิวและการใช้งานที่คล้ายกัน
ความโปร่งใส
คุณสามารถใช้โหมด Enum.AlphaMode.Transparency เพื่อสร้างวัตถุที่ซับซ้อนหรือค่อนข้างละเอียด เช่น ลูกไม้หรือถุงตาข่าย โดยการลบส่วนที่มองเห็นของเมช วิธีการนี้จะไม่ส่งผลต่อรูปทรงของวัตถุเมช แต่สามารถช่วยในสร้างวัตถุโดยละเอียดโดยไม่มีผลกระทบด้านสมรรถนะจากรูปทรงของเมชที่ซับซ้อน
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการที่บางส่วนและเต็มความโปร่งใสในโหมดนี้ลบส่วนต่างๆ ของเมชออกอย่างมีภาพพจน์:



มีสองผลลัพธ์ของโหมด Transparency ขึ้นอยู่กับว่าคุณตั้งค่า MeshPart.Transparency เป็น 0 หรือ อย่างน้อย 0.02 แม้ว่าความแม่นยำเชิงตัวเลขอาจส่งผลให้ค่าต่ำเช่น 0.01 ทำให้เกิดความโปร่งใสทึบ
- เมื่อใช้ alpha เพื่อให้ตัดพื้นที่ของวัตถุที่ทึบมาก ซึ่งมักจะมีขอบแข็งเช่น ใบไม้ เนื้อผ้าลูกไม้ และถุงตาข่าย ให้ตั้งค่า MeshPart.Transparency เป็น 0 เมื่อต้องการให้ส่วนของพื้นผิวดูทึบ เอนจิน Roblox จะสามารถเรนเดอร์ได้โดยมีการบดบังตามความลึก วัตถุทึบยังทำงานได้ดีกว่ากับเอฟเฟกต์ที่อิงจากความลึก เช่น DepthOfFieldEffect, การหักเหที่เกิดจากแก้วและน้ำ และการสะท้อนของน้ำ
- เมื่อใช้ alpha เพื่อเพิ่มรายละเอียดในวัตถุที่โปร่งใสบางส่วนหรือวัตถุที่มีการไล่ระดับความโปร่งใส ให้ตั้งค่า MeshPart.Transparency เป็น อย่างน้อย 0.02 สิ่งนี้จะช่วยปรับปรุงคุณภาพของการผสมสำหรับวัตถุเช่น หน้าต่างสกปรกและขนนกที่มีขอบนุ่ม แต่จะไม่สามารถใช้ได้กับเอฟเฟกต์ทั้งหมด
มาสก์สี
คุณสามารถใช้โหมด Enum.AlphaMode.TintMask เพื่อเพิ่มการลดสีของ SurfaceAppearance.Color ในบริเวณเฉพาะของพื้นผิว การลดสีจะมีผลมากที่สุดในบริเวณที่ช่องทาง alpha มองเห็นได้เต็มที่และไม่ได้ถูกนำไปใช้ในที่ที่ช่องทาง alpha เป็นโปร่งใส

การลดสี
คุณสามารถปรับแต่งสีให้กับแผนที่สีของคุณโดยการปรับค่า SurfaceAppearance.Color การลดสีจะไม่ส่งผลต่อประสิทธิภาพและคุณสามารถประหยัดหน่วยความจำโดยการใช้แผนที่สีเดิมซ้ำด้วยการลดสีที่แตกต่างกัน ใช้การลดสีเพื่อสร้างความแปรผันเพิ่มเติมที่มีต้นทุนต่ำระหว่างพื้นผิว PBR ของ MeshPart ของคุณหรือต้องการปรับสีพื้นผิว PBR ของคุณในเวลาจริง



การลดสี SurfaceAppearance.Color จะใช้เป็นตัวคูณ ดังนั้นลักษณะขั้นสุดท้ายจะเป็นฟังก์ชันของ Color3 (สีเชลล์) คูณด้วย SurfaceAppearance.Color ข้อความนี้หมายถึงการสร้าง SurfaceAppearance.ColorMap ของคุณด้วยสีที่ใกล้เคียงกับสีเทาอ่อนจะสร้างผลการลดสีสูงสุดเมื่อปรับใช้คุณสมบัตินี้
การลดสีใช้ได้กับ SurfaceAppearance.ColorMap เท่านั้นและไม่ใช่ MeshPart.Color คุณสามารถใช้ช่องทาง alpha เมื่อทำการใช้ ความโปร่งใส ต่อไปได้
เมื่อ SurfaceAppearance.AlphaMode ตั้งเป็น Overlay และมีช่องทาง alpha อยู่ คุณสมบัติ MeshPart.Color จะถูกเปิดเผยและการลดสี SurfaceAppearance.Color จะถูกประยุกต์ใช้เฉพาะกับแผนที่สี SurfaceAppearance ที่มองเห็นได้
เมื่อ SurfaceAppearance.AlphaMode ตั้งเป็น TintMask และมีช่องทาง alpha อยู่ ช่องทาง alpha จะควบคุมจำนวนการลดสี SurfaceAppearance.Color การลดสีจะมีผลโดยมากที่สุดในที่ที่ช่องทาง alpha มองเห็นได้เต็มที่และไม่ได้ถูกนำไปใช้ในที่ที่ช่องทาง alpha เป็นโปร่งใส

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



ช่อง R, G, และ B ของภาพที่นำเข้าตรงตามส่วนที่เป็น X, Y, และ Z ของเวกเตอร์พื้นผิวภายในเฉพาะ ภาพที่เป็นสีเดียว [127, 127, 255] จะแปลงเป็นแผนที่ปกติมีความเรียบในสมบูรณ์ Roblox รองรับเฉพาะ รูปแบบ OpenGL - Tangent Space ของแผนที่ปกติ
แผนที่ปกติจะส่งผลต่อพื้นผิวภาพของเมชอย่างมากและสามารถเน้นตะเข็บแปลกๆ บนพื้นผิวของคุณ ให้หมั่นซ่อนตะเข็บของพื้นผิวเพื่อหลีกเลี่ยงปัญหาด้านภาพกับเมชของคุณ
ความหยาบ
แผนที่ ความหยาบ หรือ microsurface จะกำหนดวิธีการที่แสงกระจายไปยังพื้นผิวของโมเดลของคุณ เมื่อความหยาบอยู่ที่ 0% พื้นผิวจะไม่กระจายแสงเลย ส่งผลให้เกิดการสะท้อนและความเงาที่ชัดเจนและสว่างมากขึ้นในวัสดุของคุณ ที่ 100% แสงและสะท้อนจะกระจายอย่างสม่ำเสมอบนโมเดล ส่งผลให้พื้นผิวแมตต์
รูปภาพต่อไปนี้แสดงการเปรียบเทียบค่าแผนที่ความหยาบที่แตกต่างกัน:



ความหยาบอาจส่งผลต่อความโปร่งแสงของวัตถุที่มุมต่างๆ เรียกว่าเป็นเอฟเฟกต์ Fresnel การประมวลผล fresnel ของ Studio มีเป้าหมายเพื่อความแม่นยำโลกจริง แม้ว่าคุณอาจได้รับผลการสะท้อนที่ไม่คาดคิดในบางมุมแม้จะมีพื้นผิวที่หยาบ ในบางกรณี คุณสามารถชดเชยด้วยการเพิ่มค่าความหยาบลงในแผนที่เป็นประมาณ 0.1 เพื่อให้ได้การตอบสนองด้านแสงที่สอดคล้องกันกับวัสดุของคุณ
แม้ว่า Roblox จะเรนเดอร์เอฟเฟกต์การตั้งค่าประภาคารอย่างแม่นยำ ความสว่างและการสะท้อนของพื้นผิวอาจไม่ตอบสนองอย่างเป็นระเบียบระหว่างซอฟต์แวร์ที่สร้างเนื้อหาพื้นผิวของคุณ เช่น Substance Painter กับ Studio ดู ตัวอย่างเสื้อผ้า สำหรับความแตกต่างในการเรนเดอร์ระหว่างแอปพลิเคชัน
ลักษณะโลหะ
ลักษณะโลหะ จะกำหนดระดับการสะท้อนของพื้นผิว ในกรณีส่วนใหญ่ คุณควรตั้งค่านี้เป็น 0% (ไม่ใช่โลหะ) หรือ 100% (โลหะ) แม้ว่าคุณสามารถใช้ค่าลักษณะโลหะแบบบางได้เมื่อสร้างพื้นผิวที่มีคุณสมบัติการสะท้อนปานกลาง เช่น ผ้าไหมหรือผ้าซาติน แนวทางปฏิบัตินี้สามารถทำให้การสะท้อนในวัสดุมีความหนักแน่นขึ้นเพื่อเน้นสีจากแผนที่สี/albedo สี ข้ามสีที่สะท้อนในสภาพแวดล้อม
ดูรูปภาพต่อไปนี้สำหรับการเปรียบเทียบค่าแผนที่ลักษณะโลหะที่แตกต่างกัน:



โปรเซสเซอร์ PBR ต่างๆ ใช้เวิร์กโฟลว์ที่แตกต่างกันในการประมวลผลการสะท้อน Studio ใช้เพียง เวิร์กโฟลว์การลักษณะโลหะ ซึ่งจะกำหนดว่าวัสดุเป็น วัสดุไม่โลหะ หรือ วัสดุโลหะ ซึ่งบางครั้งเรียกว่าเป็น ฉนวน หรือ ตัวนำ
แผ่นสะท้อนแสง
พื้นผิวเกรย์สเกล EmissiveMaskContent จะใช้ มาสก์สะท้อนแสง ไปยังพื้นผิว ซึ่งทำให้คุณใช้พื้นผิวในการควบคุมการสะท้อนแสงได้มากกว่าช่องทางที่เป็นสิ่งที่แน่นอนของวัสดุ Neon โดยอนุญาตให้คุณสร้างเอฟเฟกต์ที่ดูสว่าง เช่น ข้อความส่องสว่าง ชุดเกราะแห่งอนาคต หรือสิ่งมีชีวิตที่สะท้อนแสงในน้ำ
คุณสมบัติที่เกี่ยวข้อง EmissiveTint จะกำหนดสีของการลดสีสำหรับการสะท้อนแสง และ EmissiveStrength จะกำหนดความแข็งแรงของการสะท้อนแสง







