ProximityPrompt các đối tượng khuyến khích tương tác người dùng để kích hoạt một hành động khi họ tiếp cận các đối tượng trong kinh nghiệm như cửa, công tắc ánh sáng và nút.Sử dụng đối tượng này, bạn có thể:
- Chỉ ra các đối tượng mà người dùng có thể tương tác trong trải nghiệm.
- Hiển thị hành động mà người dùng có thể thực hiện trên đối tượng, sau đó kích hoạt hành động thông qua nhập của người dùng như nhấn hoặc giữ chìa khóa.
- Hiển thị đầu nhập chính xác cho tất cả các loại đầu nhập, chẳng hạn như bàn phím, gamepad và nút cảm ứng.
Tạo lời nhắc cảm biến
Bạn phải gửi lời nhắc cảnh báo gần với phần, mô hình hoặc phụ kiện mà bạn muốn người dùng tương tác.Để thêm một lời nhắc cảm biến vào một BasePart , Model hoặc Attachment đối tượng:
Trong cửa sổ Explorer, di chuột qua BasePart, Model hoặc Attachment và nhấp vào nút ⊕. Một menu ngữ cảnh hiển thị.
Từ menu, chèn một ProximityPrompt .
Tùy chỉnh lời nhắc cảm biến
Bạn có thể tùy chỉnh một thông báo cảm biến dựa trên cách bạn muốn nó xuất hiện , khi bạn muốn nó xuất hiện nhìn thấy , và những gì bạn muốn một người dùng làm để kích hoạt hành động .
Ngoại hình
Các thông báo cảm biến cần truyền đạt ba điều:
- Các đối tượng mà người dùng có thể tương tác với.
- Hành động mà kích hoạt khi chúng tương tác với thông báo cảm biến khi chúng tương tác với thông báo cảm biến
- Chìa khóa mà người dùng phải nhấn hoặc giữ .
Bạn có thể xác định chúng thông qua các thuộc tính sau:
ObjectText Tên tùy chọn cho đối tượng mà người dùng có thể tương tác.
ActionText Tên tùy chọn cho hành động mà người dùng sẽ kích hoạt.
KeyboardKeyCode Phím bàn phím mà người dùng phải nhấn hoặc giữ để kích hoạt hành động.
GamepadKeyCode Phím gamepad mà người dùng phải nhấn hoặc giữ để kích hoạt hành động.
Khả năng hiển thị
Bạn có thể kiểm soát khi thông báo cảm biến xuất hiện thông qua các thuộc tính MaxActivationDistance, RequiresLineOfSight và Exclusivity của nó.
Khoảng cách kích hoạt tối đa
Thuộc tính MaxActivationDistance cho phép bạn định nghĩa phạm vi xung quanh đối tượng ProximityPrompt kích hoạt sự hiển thị của thông báo gần.Khi nhân vật của một người dùng bước vào phạm vi đó, thông báo cảm biến trở nên hiển thị.

Cần LineOfSight
Thuộc tính RequiresLineOfSight kích hoạt sự hiển thị của lời nhắc cảm biến khi có một con đường rõ ràng từ máy ảnh đến ProximityPrompt.Mặc định, thuộc tính này được đặt thành true.
Bất khả xâm phạm
Nếu nhân vật của người dùng nằm trong phạm vi của nhiều lời nhắc cảm biến, tầm nhìn của mỗi lời nhắc cảm biến gần phụ thuộc vào lời nhắc cảm biến gần mà camera đang chỉ vào, cũng như giá trị tính năng của mỗi lời nhắc cảm biến gần.

Tương tác
Bạn có thể tùy chỉnh cách một người dùng tương tác với một thông báo cảm biến thông qua các thuộc tính HoldDuration và ClickablePrompt của nó.
Thời gian giữ
Thuộc tính HoldDuration xác định số giây mà người dùng phải nhấn phím trước khi hành động của gợi ý cảm biến kích hoạt.Nếu thuộc tính này có giá trị là 0 , hành động của yêu cầu gần sẽ được kích hoạt ngay lập tức.
Thông báo có thể nhấp vào
Thuộc tính ClickablePrompt định nghĩa xem một người dùng có thể nhấp vào một lời nhắc cảm biến để kích hoạt hành động của nó.Khi được đặt thành đúng , một người dùng có thể tương tác với lời nhắc cảm biến bằng cách nhấp trực tiếp vào lời nhắc cảm biến hoặc bằng cách nhấn chìa khóađược chỉ định.Khi được đặt thành giả , người dùng chỉ có thể tương tác với lời nhắc cảm biến bằng cách nhấn chìa khóađược chỉ định.
Lời nhắc cảnh báo khoảng cách kịch bản
Bạn có thể kết nối với sự kiện thông báo cảm biến gần trên chính đối tượng ProximityPrompt hoặc toàn cầu thông qua ProximityPromptService .The ProximityPromptService cho phép bạn quản lý tất cả các hành vi thông báo cảm biến từ một vị trí, ngăn chặn bất kỳ nhu cầu có các mã trùng lặp trong trải nghiệm của bạn.
Sự kiện | Mô tả |
---|---|
PromptTriggered | Bắt lửa khi một người chơi tương tác với một thông báo cảm biến (sau thời gian cho một thông báo với không phải là không có HoldDuration ). |
PromptTriggerEnded | Kích hoạt khi người chơi ngừng tương tác với một lời nhắc cảm biến. |
PromptButtonHoldBegan | Bắt lửa khi một người chơi bắt đầu tương tác với một thông báo cảm biến với giá trị không bằng không HoldDuration . |
PromptButtonHoldEnded | Bắt lửa khi một người chơi ngừng tương tác với một thông báo cảm biến với giá trị không bằng không HoldDuration . |
PromptShown | Kích hoạt trong LocalScripts khi một lời nhắc cảm biến được hiển thị. |
PromptHidden | Kích hoạt trong LocalScripts khi một lời nhắc được ẩn. |
Ví dụ mã sau bao gồm một khung cơ bản để sử dụng ProximityPromptService :
local ProximityPromptService = game:GetService("ProximityPromptService")
-- Phát hiện khi lời nhắc được kích hoạt
local function onPromptTriggered(promptObject, player)
end
-- Phát hiện khi giữ lâu bắt đầu
local function onPromptHoldBegan(promptObject, player)
end
-- Phát hiện khi kết thúc giữ lời nhắc
local function onPromptHoldEnded(promptObject, player)
end
-- Kết nối sự kiện nhắc nhở với chức năng xử lý
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)