การแสดงการใกล้ชิด

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ProximityPrompt ออบเจ็กต์ ช่วยกระตุ้นการมีส่วนร่วมของผู้ใช้เพื่อกระตุ้นการกระทำเมื่อพวกเขาเข้าใกล้วัตถุในประสบการณ์ เช่น ประตู, สวิทช์ไฟ และปุ่มต่างๆ โดยใช้ออบเจ็กต์นี้ คุณสามารถ:

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

สร้างการแสดงการใกล้ชิด

คุณต้องทำให้การแสดงการใกล้ชิดเป็นส่วนหนึ่งของชิ้นส่วน, โมเดล, หรือการเชื่อมต่อที่คุณต้องการให้ผู้ใช้มีส่วนร่วมด้วย เพื่อเพิ่มการแสดงการใกล้ชิดไปยังออบเจ็กต์ BasePart, Model, หรือ Attachment:

  1. ในหน้าต่าง Explorer, วางเมาส์เหนือ BasePart, Model, หรือ Attachment และคลิกที่ปุ่ม ⊕ เมนูบริบทจะปรากฏขึ้น

  2. จากเมนู ให้แทรก ProximityPrompt.

    โครงสร้างของ Explorer แสดงการแสดงการใกล้ชิดที่เป็นส่วนหนึ่งของการเชื่อมต่อ

ปรับแต่งการแสดงการใกล้ชิด

คุณสามารถปรับแต่งการแสดงการใกล้ชิดได้ตามวิธีที่คุณต้องการให้มัน ปรากฏ, เมื่อใดที่คุณต้องการให้มัน มองเห็น, และสิ่งที่คุณต้องการให้ผู้ใช้ทำเพื่อ กระตุ้นการกระทำ.

ลักษณะ

การแสดงการใกล้ชิดจำเป็นต้องสื่อสารสามสิ่ง:

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

คุณสามารถระบุสิ่งเหล่านี้ได้ผ่านคุณสมบัติดังต่อไปนี้:

  • ObjectText ชื่อทางเลือกสำหรับวัตถุที่ผู้ใช้สามารถมีส่วนร่วมได้

  • ActionText ชื่อทางเลือกสำหรับการกระทำที่ผู้ใช้จะกระตุ้น

  • KeyboardKeyCode ปุ่มแป้นพิมพ์ที่ผู้ใช้ต้องกดหรือกดค้างเพื่อกระตุ้นการกระทำ

  • GamepadKeyCode ปุ่มเกมแพดที่ผู้ใช้ต้องกดหรือกดค้างเพื่อกระตุ้นการกระทำ

    ภาพแสดงส่วนประกอบพื้นฐานของ ProximityPrompt

มองเห็น

คุณสามารถควบคุมว่าเมื่อใดที่การแสดงการใกล้ชิดมองเห็นได้ผ่านคุณสมบัติ MaxActivationDistance, RequiresLineOfSight, และ Exclusivity.

MaxActivationDistance

คุณสมบัติ MaxActivationDistance ช่วยให้คุณกำหนดระยะห่างรอบๆ ออบเจ็กต์ ProximityPrompt ที่เปิดใช้งานการมองเห็นของการแสดงการใกล้ชิด เมื่อใดก็ตามที่ตัวละครของผู้ใช้เข้ามาในระยะนั้น การแสดงการใกล้ชิดจะปรากฏให้เห็น

ภาพแสดงว่าระยะห่างของตัวละครจากออบเจ็กต์ ProximityPrompt มีผลต่อว่าการแสดงปรากฎบนหน้าจอหรือไม่

RequiresLineOfSight

คุณสมบัติ RequiresLineOfSight จะเปิดใช้งานการมองเห็นของการแสดงการใกล้ชิดเมื่อมีเส้นทางที่ชัดเจนจาก กล้อง ไปยังออบเจ็กต์ ProximityPrompt โดยดีฟอลต์คุณสมบัตินี้ถูกตั้งค่าเป็น true

Exclusivity

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

ออบเจ็กต์ ProximityPrompt ที่ตั้งค่าสิทธิพิเศษเป็น OnePerButton
เฉพาะการแสดงการใกล้ชิดหนึ่งรายการเท่านั้นที่มองเห็นได้ต่อการกดแป้นพิมพ์ หากมีการแสดงการใกล้ชิดหลายรายการในระยะและใช้รหัสปุ่มแตกต่างกันทั้งหมดจะปรากฏ แต่หากการแสดงการใกล้ชิดหลายรายการในระยะใช้รหัสปุ่มเดียวกัน จะปรากฎเพียงการแสดงการใกล้ชิดเดียวในเวลาใดเวลาหนึ่ง ขึ้นอยู่กับทิศทางมุมมองของกล้อง

การมีส่วนร่วม

คุณสามารถปรับแต่งวิธีที่ผู้ใช้มีปฏิสัมพันธ์กับการแสดงการใกล้ชิดผ่านคุณสมบัติ HoldDuration และ ClickablePrompt.

HoldDuration

คุณสมบัติ HoldDuration กำหนดจำนวนวินาทีที่ผู้ใช้ต้องกดปุ่มก่อนที่การกระทำของการแสดงการใกล้ชิดจะเกิดขึ้น หากคุณสมบัตินี้มีค่า 0, การกระทำของการแสดงการใกล้ชิดจะเกิดขึ้นทันที

ClickablePrompt

คุณสมบัติ ClickablePrompt ระบุว่าผู้ใช้สามารถคลิกที่การแสดงการใกล้ชิดเพื่อกระตุ้นการกระทำของมันหรือไม่ เมื่อถูกตั้งค่าเป็น true, ผู้ใช้สามารถโต้ตอบกับการแสดงการใกล้ชิดโดยการคลิกที่การแสดงโดยตรง หรือ โดยการกดปุ่มที่ระบุ เมื่อถูกตั้งค่าเป็น false, ผู้ใช้สามารถโต้ตอบกับการแสดงการใกล้ชิดได้เฉพาะการกดปุ่มที่ระบุเท่านั้น

สคริปต์แสดงการใกล้ชิด

คุณสามารถเชื่อมต่อกับเหตุการณ์การแสดงการใกล้ชิดได้ทั้งในออบเจ็กต์ ProximityPrompt เองหรือทั่วไประบบ ProximityPromptService. ระบบ ProximityPromptService ช่วยให้คุณจัดการพฤติกรรมการแสดงการใกล้ชิดทั้งหมดจากตำแหน่งเดียว, ป้องกันไม่ให้มีการเขียนโค้ดซ้ำในประสบการณ์ของคุณ

เหตุการณ์คำอธิบาย
PromptTriggeredเกิดขึ้นเมื่อผู้เล่นโต้ตอบกับการแสดงการใกล้ชิด (หลังจากระยะเวลาสำหรับการแสดงที่มีค่า HoldDuration ที่ไม่เป็นศูนย์)
PromptTriggerEndedเกิดขึ้นเมื่อผู้เล่นหยุดโต้ตอบกับการแสดงการใกล้ชิด
PromptButtonHoldBeganเกิดขึ้นเมื่อผู้เล่นเริ่มโต้ตอบกับการแสดงการใกล้ชิดที่มีค่า HoldDuration ที่ไม่เป็นศูนย์
PromptButtonHoldEndedเกิดขึ้นเมื่อผู้เล่นหยุดโต้ตอบกับการแสดงการใกล้ชิดที่มีค่า HoldDuration ที่ไม่เป็นศูนย์
PromptShownเกิดขึ้นใน LocalScripts เมื่อการแสดงการใกล้ชิดปรากฏขึ้น
PromptHiddenเกิดขึ้นใน LocalScripts เมื่อการแสดงถูกซ่อน

ตัวอย่างโค้ดต่อไปนี้รวมถึงโครงสร้างพื้นฐานสำหรับการใช้ ProximityPromptService:


local ProximityPromptService = game:GetService("ProximityPromptService")
-- ตรวจจับเมื่อการแสดงถูกกระตุ้น
local function onPromptTriggered(promptObject, player)
end
-- ตรวจจับเมื่อการกดปุ่มเริ่มต้น
local function onPromptHoldBegan(promptObject, player)
end
-- ตรวจจับเมื่อการกดปุ่มสิ้นสุด
local function onPromptHoldEnded(promptObject, player)
end
-- เชื่อมต่อเหตุการณ์การแสดงกับฟังก์ชันจัดการ
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ