근접 프롬프트

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

ProximityPrompt 객체는 사용자가 문, 전등 스위치 및 버튼과 같은 경험 내 개체에 접근할 때 액션을 트리거하도록 유도합니다. 이 객체를 사용하여 다음을 수행할 수 있습니다:

  • 사용자가 경험에서 상호작용할 수 있는 개체를 표시합니다.
  • 사용자가 해당 개체에서 수행할 수 있는 액션을 표시한 후, 키를 누르거나 길게 눌러 액션을 트리거할 수 있습니다.
  • 키보드, 게임패드 및 터치 스크린 키와 같은 모든 입력 유형에 대한 올바른 입력을 표시합니다.

근접 프롬프트 만들기

근접 프롬프트를 사용자가 상호작용하기를 원하는 부분, 모델 또는 부착물에 부모로 설정해야 합니다. BasePart, Model 또는 Attachment 객체에 근접 프롬프트를 추가하려면:

  1. 탐색기 창에서 BasePart, Model 또는 Attachment 위에 마우스를 올리고 ⊕ 버튼을 클릭합니다. 그러면 컨텍스트 메뉴가 표시됩니다.

  2. 메뉴에서 ProximityPrompt를 삽입합니다.

    부착물에 부모로 설정된 ProximityPrompt를 보여주는 탐색기 계층

근접 프롬프트 사용자 지정

근접 프롬프트를 어떻게 표시할지, 언제 가시성을 가질지, 사용자가 액션을 트리거하기 위해 무엇을 할지를 기반으로 근접 프롬프트를 사용자 지정할 수 있습니다.

표시

근접 프롬프트는 세 가지를 전달해야 합니다:

  • 사용자가 상호작용할 수 있는 개체.
  • 사용자가 근접 프롬프트와 상호작용할 때 트리거되는 액션.
  • 사용자가 눌러야 할 .

다음 속성을 통해 이를 지정할 수 있습니다:

  • ObjectText 사용자가 상호작용할 수 있는 개체의 선택적 이름입니다.

  • ActionText 사용자가 트리거할 액션의 선택적 이름입니다.

  • KeyboardKeyCode 사용자가 액션을 트리거하기 위해 눌러야 하는 키보드 키입니다.

  • GamepadKeyCode 사용자가 액션을 트리거하기 위해 눌러야 하는 게임패드 키입니다.

    근접 프롬프트의 기본 요소를 나타내는 다이어그램

가시성

근접 프롬프트가 언제 표시되는지를 MaxActivationDistance, RequiresLineOfSight, 및 Exclusivity 속성을 통해 제어할 수 있습니다.

MaxActivationDistance

MaxActivationDistance 속성은 근접 프롬프트의 가시성을 활성화하는 ProximityPrompt 객체 주위의 범위를 정의할 수 있게 합니다. 사용자의 캐릭터가 해당 범위에 들어가면 근접 프롬프트가 표시됩니다.

캐릭터의 거리가 근접 프롬프트 객체와 얼마나 가까운지에 따라 화면에 프롬프트가 나타나는지를 나타내는 다이어그램

RequiresLineOfSight

RequiresLineOfSight 속성은 카메라에서 ProximityPrompt 객체까지의 경로가 뚫려 있을 때 근접 프롬프트의 가시성을 활성화합니다. 기본적으로 이 속성은 true로 설정되어 있습니다.

Exclusivity

사용자의 캐릭터가 여러 근접 프롬프트 범위 내에 있는 경우, 각 근접 프롬프트의 가시성은 카메라가 가리키는 근접 프롬프트에 따라 다르며, 각 근접 프롬프트의 Exclusivity 속성 값에 따라 다릅니다.

OnePerButton의 배타성으로 설정된 ProximityPrompt 객체
입력 키코드당 하나의 근접 프롬프트만 표시됩니다. 여러 범위 내 근접 프롬프트가 서로 다른 키코드를 사용하는 경우 모두 표시됩니다. 그러나 여러 범위 내 근접 프롬프트가 동일한 키코드를 사용하는 경우, 카메라의 시선 방향에 따라 언제든지 하나의 근접 프롬프트만 표시됩니다.

상호작용성

사용자가 근접 프롬프트와 상호작용하는 방식을 HoldDurationClickablePrompt 속성을 통해 사용자 지정할 수 있습니다.

HoldDuration

HoldDuration 속성은 사용자가 근접 프롬프트의 액션이 트리거되기 위해 키를 누르는 시간이 몇 초인지 결정합니다. 이 속성이 0 값이면, 근접 프롬프트의 액션은 즉시 트리거됩니다.

ClickablePrompt

ClickablePrompt 속성은 사용자가 근접 프롬프트를 클릭하여 그 행동을 트리거할 수 있는지를 지정합니다. true로 설정하면 사용자는 근접 프롬프트를 직접 클릭하거나 지정된 키를 눌러 근접 프롬프트와 상호작용할 수 있습니다. false로 설정하면 사용자는 지정된 키를 눌러서만 근접 프롬프트와 상호작용할 수 있습니다.

스크립트 근접 프롬프트

근접 프롬프트 이벤트에 연결할 수 있는 방법은 ProximityPrompt 객체 자체 또는 ProximityPromptService를 통해 전역적으로 할 수 있습니다. ProximityPromptService를 사용하면 모든 근접 프롬프트 동작을 한 위치에서 관리할 수 있어 경험 내에서 중복 코드를 방지할 수 있습니다.

이벤트설명
PromptTriggered플레이어가 근접 프롬프트와 상호작용할 때 발생합니다(0이 아닌 HoldDuration의 지속 시간 후).
PromptTriggerEnded플레이어가 근접 프롬프트와의 상호작용을 중단할 때 트리거됩니다.
PromptButtonHoldBegan플레이어가 0이 아닌 HoldDuration 값으로 근접 프롬프트와 상호작용을 시작할 때 발생합니다.
PromptButtonHoldEnded플레이어가 0이 아닌 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'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.