คําเตือนความใกล้ชิด

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

คุณสามารถสร้างคําเตือนความใกล้ชิดแบบโต้ตอบที่ปรากฏเมื่อผู้ใช้เข้าใกล้วัตถุในพื้นที่ 3D จากนั้นกระตุ้นการดําเนินการตามการป้อนข้อมูลของผู้ใช้

บทแนะนำนี้ใช้โครงการ Dungeon Delve เป็นการแสดงผล เพื่อที่จะทำต่อไปให้เปิดใน Studio ก่อนดำเนินการต่อ

Edit in Studio option from the experience's main page

สร้างคำเตือน

คําแนะนําบนหน้าจอจะถูกสร้างโดยวัตถุ ProximityPrompt ที่เป็นพ่อของ Attachment หรือ BasePart หรือ Model

  1. เลือกโมเดล ประตูคุก ในมุมมอง 3D หรือจาก Explorer ( พื้นที่ทำงานพร้อมตัวเลือกประตูคุก )

  2. ขยายต้นไม้และเลือกวัตถุ ประตู

  3. วางคําแนะนําบน Attachment ให้คุณมีการควบคุมมากขึ้นเกี่ยวกับสถานที่ที่จุดการโต้ตอบเกิดขึ้น เมื่อเทียบกับการวางโดยตรงบนชิ้นส่วน/โมเดลใส่ส่วนแนบใหม่ และเปลี่ยนชื่อเป็น PromptAttachment

  4. ค้นหาคุณสมบัติตำแหน่งใหม่ของไฟล์แนบ **** และตั้งค่าเป็น -2.25 , -0.5 , - 0.5 นี้จะย้ายไปข้างหน้ารูกุญแจของประตู

  5. เลื่อนเหนือ แนบไฟล์โปรแมชัน และใส่วัตถุใหม่ แจ้งเตือนความใกล้ชิด

รูปลักษณ์

คำแนะนำประกอบด้วยสามองค์ประกอบหลักซึ่งแต่ละองค์ประกอบสามารถควบคุมได้โดยคุณสมบัติต่อไปนี้:

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

เพื่อปรับแต่งรูปลักษณ์ของประตูคุกให้เหมาะสม ทำดังต่อไปนี้:

  1. ในหน้าต่างคุณสมบัติ ค้นหาคุณสมบัติ ObjectText และพิมพ์ ประตู

  2. สำหรับคุณสมบัติ ActionText ให้พิมพ์ Pick Lock

ระยะการเปิดใช้งาน

คําแนะนําจะปรากฏเมื่อผู้ใช้ ตัวละคร ของผู้ใช้ย้ายภายในระยะ MaxActivationDistance ที่กําหนดของตัววัตถุโปรโมท

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

ระยะเวลาการถือ

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

แอ็คชัน

วิธีที่ดีที่สุดในการตรวจจับเหตุการณ์ทันทีคือผ่าน 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)
อีเวนต์คําอธิบาย
PromptTriggeredเกิดไฟไหม้เมื่อผู้ใช้โต้ตอบกับคําแนะนํา ( หลังจาก ระยะเวลาสําหรับคําแนะนําที่ไม่เป็นศูนย์ HoldDuration )
PromptButtonHoldBeganจะเกิดไฟไหม้เมื่อผู้ใช้เริ่มโต้ตอบกับคําแนะนําของไม่เป็นศูนย์ HoldDuration
PromptButtonHoldEndedจะเกิดไฟไหม้เมื่อผู้ใช้หยุดโต้ตอบกับคําแจ้งที่ไม่เป็นศูนย์ HoldDuration

ในโครงการ Dungeon Delve เหตุการณ์เหล่านี้จะจัดการโดยสคริปต์ PromptEvents ภายใน ServerScriptService

ภายในสคริปต์กิจกรรมด้านบนเรียกฟังก์ชันภายใน การดำเนินการวัตถุ ModuleScript และตั้งอยู่ใน ServerScriptService เช่นกัน


local ProximityPromptService = game:GetService("ProximityPromptService")
local ServerScriptService = game:GetService("ServerScriptService")
local ObjectActions = require(ServerScriptService.ObjectActions)
-- ตรวจจับเมื่อมีการกระตุ้นคําขอ
local function onPromptTriggered(promptObject, player)
ObjectActions.promptTriggeredActions(promptObject, player)
end
-- ตรวจสอบเมื่อการจับค้างเริ่ม
local function onPromptHoldBegan(promptObject, player)
ObjectActions.promptHoldBeganActions(promptObject, player)
end
-- ตรวจจับเมื่อสิ้นสุดการกดปุ่มถาม
local function onPromptHoldEnded(promptObject, player)
ObjectActions.promptHoldEndedActions(promptObject, player)
end
-- เชื่อมต่ออีเวนต์คําสั่งให้กับฟังก์ชันการจัดการ
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)

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