근접 프롬프트

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

ProximityPrompt 개체는 사용자 상호 작용을 유도하여 문, 조명 스위치 및 버튼과 같은 경험 내 개체에 접근할 때 작업을 트리거합니다.이 개체를 사용하여 다음을 수행할 수 있습니다:

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

근접 프롬프트 생성

사용자가 상호 작용하도록 원하는 부품, 모델 또는 첨부 파일에 근접 프롬프트를 부모로 지정해야 합니다.BasePart , Model 또는 Attachment 개체에 근접 프롬프트를 추가하려면:

  1. 탐색기 창에서 , BasePart 또는 Model 을 가리키고 Attachment 버튼을 클릭하십시오. 컨텍스트 메뉴가 표시됩니다.

  2. 메뉴에서 근접 프롬프트 를 삽입합니다.

    Explorer hierarchy showing a ProximityPrompt parented to an Attachment

근접 프롬프트 사용자 정의

원하는 대로 표시되고, 원하는 경우 표시되고, 원하는 대로 사용자가 작업을 트리거하도록 하려는 근접 프롬프트를 사용자 지정할 수 있습니다.You can customize a proximity prompt based on how you want it to appear, when you want it to be visible, and what you want a user to do to trigger the action.

외관

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

  • 사용자가 상호 작용할 수 있는 개체 .
  • 근접 프롬프트와 상호작용할 때 트리거되는 액션 .
  • 사용자가 누르거나 길게 누르는 .

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

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

  • ActionText 사용자가 트리거할 작업의 선택적 이름.

  • KeyboardKeyCode 사용자가 액션을 트리거하기 위해 누르거나 길게 누르는 키보드 키.

  • GamepadKeyCode 사용자가 액션을 트리거하기 위해 누르거나 길게 누르는 게임패드 키.

    Diagram indicating basic elements of a ProximityPrompt

가시성

근접 프롬프트가 표시되는 시기를 MaxActivationDistance , RequiresLineOfSightExclusivity 속성을 통해 제어할 수 있습니다.

최대활성화 거리

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

Diagram indicating how a character's distance from a ProximityPrompt object affects whether the prompt appears on screen

라인 오브 사이트 필요

속성은 카메라에서 클리어 경로로 이동하면 근접 프롬프트의 가시성을 활성화합니다.The 카메라 에서 클리어 경로로 이동하면 근접 프롬프트의 가시성을 활성화합니다.기본적으로 이 속성은 true로 설정됩니다.

배타성

사용자의 캐릭터가 여러 근접 프롬프트의 범위에 있으면 각 근접 프롬프트의 표시 여부는 카메라가 가리키고 있는 각 근접 프롬프트의 Exclusivity 속성 값과 함께 각 근접 프롬프트의 표시 여부에 따라 달라집니다.

ProximityPrompt objects set to exclusivity of OnePerButton
입력 키코드당 근접 프롬프트가 하나만 표시됩니다.여러 범위 근접 프롬프트가 다른 키코드를 사용하면 모두 표시됩니다.그러나 범위 내 여러 근접 프롬프트가 동일한 키코드를 사용하는 경우, 카메라의 시점 방향에 따라 특정 시점에 근접 프롬프트가 하나만 표시됩니다.

상호 작용

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

홀드 기간

HoldDuration 속성은 근접 프롬프트의 작업이 트리거되기 전에 사용자가 키를 누르는 데 걸리는 시간을 결정합니다.이 속성의 값이 0 인 경우 근접 프롬프트의 작업이 즉시 트리거됩니다.

클릭 가능한 프롬프트

ClickablePrompt 속성은 사용자가 근접 프롬프트를 클릭하여 액션트리거할 수 있는지 여부를 지정합니다.설정을 true 로 설정하면 사용자는 특정 키를 누르고 근접 프롬프트를 직접 클릭하여 근접 프롬프트와 상호작용할 수 있습니다.When set to true , a user can interact with the proximity prompt by directly clicking the proximity prompt or by pressing the specified key. false 로 설정되면 사용자는 지정된 키를 누르고 근접 프롬프트와만 상호작용할 수 있습니다.

스크립트 근접 프롬프트

근접 프롬프트 이벤트에 연결할 수 있는 방법은 다음과 같습니다. ProximityPrompt 개체 자체 또는 전역적으로 ProximityPromptService을 통해 연결할 수 있습니다.ProximityPromptService 는 모든 근접 프롬프트 동작을 한 위치에서 관리할 수 있으므로 경험에서 중복 코드가 필요하지 않습니다.

이벤트설명
PromptTriggered플레이어가 근접 프롬프트와 상호작용할 때 발생(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
-- 프롬프트 이벤트를 처리 함수에 연결 Connect prompt events to handling functions
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)