ตัวเก็บ UI ในเกมเก็บ GuiObjects ที่คุณต้องการแสดงภายในโลก 3D ของเกมของคุณ
- SurfaceGui อนุญาตให้การเรนเดอร์วัตถุ UI ลงบนพื้นผิวของชิ้นส่วนในโลก 3D ในขณะที่ยังอนุญาตให้มีการโต้ตอบของผู้ใช้พื้นฐานเกิดขึ้น
- BillboardGui เป็นตัวเก็บสำหรับวัตถุ UI ที่ปรากฏในพื้นที่ 3D แต่จะหันหน้าเข้าหากล้องเสมอ
UI พื้นผิว
คล้ายกับ Decals และ Textures วัตถุ UI เช่น TextLabels และ ImageLabels ที่เป็นลูกของ SurfaceGui จะหันหน้าไปในทิศทางเดียวกับพื้นผิวที่พวกมันอยู่ ซึ่งสามารถแก้ไขได้ผ่านคุณสมบัติ SurfaceGui.Face

ในการใช้ SurfaceGui กับ BasePart ในเกม ให้เพียงแค่เป็นลูกของชิ้นส่วนนั้นและตั้งค่าคุณสมบัติ SurfaceGui.Face วัตถุ UI ลูกจะปรากฏบนด้านนั้นของชิ้นส่วนหลัก


นอกจากนี้ คุณสามารถวาง SurfaceGui ไว้ภายในตัวเก็บเช่น StarterGui และตั้งค่าคุณสมบัติ Adornee ให้กับ BasePart ใด ๆ รวมถึง Face ที่ต้องการ การตั้งค่า Adornee จะทำให้การเชื่อมโยงโดยตรงกับพ่อแม่ถูกแทนที่ ทำให้มีความยืดหยุ่นมากขึ้นในการวางตำแหน่งเนื่องจากสามารถตั้งค่าจากสคริปต์ในระหว่างการทำงาน


ขนาดและตำแหน่ง
"ผืนผ้าใบ" ของ SurfaceGui จะครอบคลุมทั้ง Face ของชิ้นส่วนหลักหรือ Adornee ตามแนวทางที่ดีที่สุด แนะนำให้คุณใช้ค่า สเกล สำหรับ ขนาด และ ตำแหน่ง ของวัตถุ UI ลูกเช่น ImageLabels คุณยังสามารถใช้ UIAspectRatioConstraint กับลูกของ SurfaceGui เพื่อรักษาสัดส่วนที่ต้องการไม่ว่าจะมีขนาดของด้านอย่างไร
โหมดการบัง
คุณสมบัติ AlwaysOnTop กำหนดว่าคุณสมบัติ SurfaceGui จะเรนเดอร์เหนือเนื้อหาที่เป็น 3D หรือถูกบังโดยมัน เมื่อถูกตั้งค่าเป็น false (ค่าเริ่มต้น) SurfaceGui จะเรนเดอร์เหมือนกับเนื้อหาที่เป็น 3D อื่น ๆ และถูกบังโดยวัตถุ 3D อื่น ๆ เมื่อถูกตั้งค่าเป็น true มันจะเรนเดอร์เหนือเนื้อหาที่เป็น 3D เสมอและไม่ได้รับผลกระทบจาก ความสว่าง/แสง ในสภาพแวดล้อม 3D
ความสว่างและอิทธิพลของแสง
Brightness และ LightInfluence ทำงานร่วมกันเพื่อกำหนดว่าแสงในสภาพแวดล้อมมีผลต่อเนื้อหา UI ของ SurfaceGui อย่างไร
Brightness กำหนดปัจจัยที่แสงที่ปล่อยออกมาจะถูกปรับขนาดในช่วง 0 ถึง 1000 ทำให้คุณสามารถจับคู่ SurfaceGui กับสภาพแวดล้อมของมันได้ ตัวอย่างเช่น ป้ายวิดีโอสามารถทำให้สว่างขึ้นในห้องมืดโดยการเพิ่ม Brightness เป็น 10
LightInfluence ควบคุมว่า SurfaceGui จะได้รับอิทธิพลจากแสงในสถานที่มากน้อยเพียงใด ในช่วง 0 ถึง 1 การตั้งค่านี้เป็น 1 หมายความว่าแสงรอบข้างมีการควบคุมโดยสมบูรณ์ต่อรูปลักษณ์ ในขณะที่การตั้งค่าเป็น 0 หมายความว่าแสงไม่มีผลกระทบ

การมองเห็นระยะทาง
MaxDistance ควบคุมระยะห่างจากกล้องที่ SurfaceGui จะถูกแสดงก่อนที่จะหยุดการเรนเดอร์ ค่า 0 หมายความว่าไม่มีขีดจำกัดและมันจะเรนเดอร์ได้ไกลไม่จำกัด ค่าเริ่มต้น 1000 ทำงานได้ดีในกรณีส่วนใหญ่
สำหรับ SurfaceGuis ที่ปรากฏกลางแจ้ง แนะนำให้ MaxDistance สูงพอที่จะทำให้ UI ของตัวเก็บมีขนาดเล็กพอในหน้าจอเมื่อมันปรากฏหรือหายไป เพื่อลดผลกระทบการปรากฏ/หายไปอย่างกะทันหัน
ลำดับการแสดงผล
หากมีหลาย SurfaceGui อยู่บนด้านเดียวกัน คุณสามารถจัดเรียงพวกมันตาม Z‑index ผ่านคุณสมบัติ ZOffset (การเปลี่ยนแปลงนี้จะไม่ทำให้ตัวเก็บ "ยก" หรือ "จม" จากพื้นผิว)
UI ป้ายโฆษณา
ตัวเก็บ BillboardGui แสดงวัตถุ UI ในพื้นที่ 3D แต่แตกต่างจาก SurfaceGui ลูกของ BillboardGui จะหันหน้าเข้าหากล้องเสมอ ตัวเก็บนี้มีประโยชน์สำหรับการแสดงข้อมูลที่หันหน้าไปข้างหน้าบนวัตถุในเกม เช่น เมตรสุขภาพหรือตัวชื่อเหนืออักขระผู้เล่น เครื่องหมายเพื่อแนะนำผู้เล่นไปยังวัตถุในโลก 3D และอื่น ๆ

ในการเชื่อมโยง BillboardGui กับ BasePart หรือ Attachment ในเกม ให้เพียงแค่เป็นลูกของชิ้นส่วนนั้นหรือการยึด และหากต้องการ ปรับ ขนาด/ตำแหน่ง ของมัน


นอกจากนี้ คุณสามารถวาง BillboardGui ไว้ภายในตัวเก็บเช่น StarterGui และตั้งค่าคุณสมบัติ Adornee ให้กับ BasePart หรือ Attachment ใด ๆ วิธีนี้ให้ความยืดหยุ่นมากขึ้นในการวางตำแหน่งเนื่องจาก Adornee สามารถตั้งค่าจากสคริปต์ในระหว่างการทำงาน เช่น การวาง BillboardGui เหนือหัวของอักขระผู้เล่นในระหว่างการทำงาน
ขนาดและตำแหน่ง
สำหรับการตั้งค่าขนาดป้ายโฆษณา ส่วนประกอบ สเกล ของคุณสมบัติ Size จะตั้งค่าขนาดของป้ายโฆษณาในพื้นที่ 3D ตัวอย่างเช่น การตั้งค่า {10, 0},{2, 0} (UDim2.fromScale(10, 2)) จะสร้างป้ายโฆษณาที่มีอัตราส่วน 10:2 ที่ปรับขนาดใหญ่ขึ้นหรือน้อยลงขึ้นอยู่กับระยะห่างจากกล้อง
สำหรับการวางตำแหน่ง คุณสมบัติ StudsOffset จะเลื่อนผืนผ้าใบป้ายโฆษณาในแกน X (ซ้าย/ขวา), แกน Y (ขึ้น/ลง), และแกน Z (ไปข้างหน้า/ถอยหลัง) เทียบกับกล้อง
โหมดการบัง
คุณสมบัติ AlwaysOnTop กำหนดว่าคุณสมบัติ BillboardGui จะเรนเดอร์เหนือเนื้อหาที่เป็น 3D หรือถูกบังโดยมัน เมื่อถูกตั้งค่าเป็น false (ค่าเริ่มต้น) BillboardGui จะเรนเดอร์เหมือนกับเนื้อหาที่เป็น 3D อื่น ๆ และถูกบังโดยวัตถุ 3D อื่น ๆ เมื่อถูกตั้งค่าเป็น true มันจะเรนเดอร์เหนือเนื้อหาที่เป็น 3D เสมอและไม่ได้รับผลกระทบจาก ความสว่าง/แสง ในสภาพแวดล้อม 3D
ความสว่างและอิทธิพลของแสง
Brightness และ LightInfluence ทำงานร่วมกันเพื่อกำหนดว่าแสงในสภาพแวดล้อมมีผลต่อเนื้อหา UI ของ BillboardGui อย่างไร
Brightness กำหนดปัจจัยที่แสงที่ปล่อยออกมาจะถูกปรับขนาดในช่วง 0 ถึง 1000 ทำให้คุณสามารถจับคู่ BillboardGui กับสภาพแวดล้อมของมันได้ ตัวอย่างเช่น ป้ายวิดีโอสามารถทำให้สว่างขึ้นในห้องมืดโดยการเพิ่ม Brightness เป็น 10
LightInfluence ควบคุมว่า BillboardGui จะได้รับอิทธิพลจากแสงในสถานที่มากน้อยเพียงใด ในช่วง 0 ถึง 1 การตั้งค่านี้เป็น 1 หมายความว่าแสงรอบข้างมีการควบคุมโดยสมบูรณ์ต่อรูปลักษณ์ ในขณะที่การตั้งค่าเป็น 0 หมายความว่าแสงไม่มีผลกระทบ

การมองเห็นระยะทาง
MaxDistance ควบคุมระยะห่างจากกล้องที่ BillboardGui จะถูกแสดงก่อนที่จะหยุดการเรนเดอร์ ค่า 0 หรือ inf (ค่าเริ่มต้น) หมายความว่าไม่มีขีดจำกัดและมันจะเรนเดอร์ได้ไกลไม่จำกัด