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


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

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



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


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



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

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



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

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



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



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



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







