プロキシミティプロンプト

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

ProximityPrompt オブジェクトは、ユーザーがゲーム内のオブジェクト(ドア、ライトスイッチ、ボタンなど)に近づくとアクションをトリガーするためのインタラクションを促します。このオブジェクトを使用すると、次のことができます:

  • ユーザーがゲーム内でインタラクトできるオブジェクトを示す。
  • ユーザーがオブジェクトに対して取ることができるアクションを表示し、キーを押したり保持したりするなどのユーザー入力を通じてアクションをトリガーする。
  • キーボード、ゲームパッド、タッチスクリーンキーなど、すべての入力タイプに対して正しい入力を表示する。

プロキシミティプロンプトの作成

プロキシミティプロンプトは、ユーザーがインタラクトすることを望むパート、モデル、またはアタッチメントに親子関係を持たせる必要があります。BasePartModel、または Attachment オブジェクトにプロキシミティプロンプトを追加するには:

  1. Explorer ウィンドウで、BasePartModel、または Attachment にカーソルを合わせ、⊕ ボタンをクリックします。コンテキストメニューが表示されます。

  2. メニューから ProximityPrompt を挿入します。

    アタッチメントに親子関係を持つプロキシミティプロンプトを示すExplorer階層

プロキシミティプロンプトのカスタマイズ

プロキシミティプロンプトは、表示方法 appear、表示されるタイミング visible、およびユーザーがアクションをトリガーするために行うべきこと trigger the action に基づいてカスタマイズできます。

外観

プロキシミティプロンプトは、次の3つのことを伝える必要があります:

  • ユーザーがインタラクトできる オブジェクト
  • プロキシミティプロンプトとインタラクトしたときにトリガーされる アクション
  • ユーザーが押すか保持する必要がある キー

これらは次のプロパティを通じて指定できます:

  • ObjectText ユーザーがインタラクトできるオブジェクトのオプションの名前。

  • ActionText ユーザーがトリガーするアクションのオプションの名前。

  • KeyboardKeyCode ユーザーがアクションをトリガーするために押すか保持する必要があるキーボードキー。

  • GamepadKeyCode ユーザーがアクションをトリガーするために押すか保持する必要があるゲームパッドキー。

    プロキシミティプロンプトの基本要素を示す図

可視性

プロキシミティプロンプトが表示されるタイミングは、MaxActivationDistanceRequiresLineOfSight、および Exclusivity プロパティを通じて制御できます。

MaxActivationDistance

MaxActivationDistance プロパティは、プロキシミティプロンプトの可視性をアクティブにする範囲を定義します。ユーザーのキャラクターがその範囲に入ると、プロキシミティプロンプトが表示されます。

キャラクターのプロキシミティプロンプトオブジェクトからの距離がプロンプトの画面表示にどのように影響するかを示す図

RequiresLineOfSight

RequiresLineOfSight プロパティは、カメラから ProximityPrompt オブジェクトへの明確なパスがあるときにプロキシミティプロンプトの可視性をアクティブにします。デフォルトでは、このプロパティは true に設定されています。

Exclusivity

ユーザーのキャラクターが複数のプロキシミティプロンプトの範囲内にいる場合、各プロキシミティプロンプトの可視性は、カメラが指しているプロキシミティプロンプトと、各プロキシミティプロンプトの Exclusivity プロパティの値によって決まります。

OnePerButtonの排他性に設定されたプロキシミティプロンプトオブジェクト
入力キーコードごとに1つのプロキシミティプロンプトのみが表示されます。範囲内の複数のプロキシミティプロンプトが異なるキーコードを使用している場合、それらはすべて表示されます。ただし、範囲内の複数のプロキシミティプロンプトが同じキーコードを使用している場合、カメラの視点に応じて、同時に表示されるのは1つのプロキシミティプロンプトのみです。

インタラクティビティ

ユーザーがプロキシミティプロンプトとどのようにインタラクトするかは、HoldDuration および ClickablePrompt プロパティを通じてカスタマイズできます。

HoldDuration

HoldDuration プロパティは、ユーザーがキーを押す必要がある秒数を決定します。プロキシミティプロンプトのアクションがトリガーされる前に。このプロパティの値が 0 の場合、プロキシミティプロンプトのアクションは即座にトリガーされます。

ClickablePrompt

ClickablePrompt プロパティは、ユーザーがプロキシミティプロンプトをクリックしてアクションをトリガーできるかどうかを指定します。true に設定されている場合、ユーザーはプロキシミティプロンプトを直接クリックするか、指定されたキーを押すことでプロキシミティプロンプトとインタラクトできます。false に設定されている場合、ユーザーは指定されたキーを押すことでのみプロキシミティプロンプトとインタラクトできます。

スクリプトプロキシミティプロンプト

プロキシミティプロンプトイベントには、ProximityPrompt オブジェクト自体または ProximityPromptService を通じて接続できます。ProximityPromptService を使用すると、1つの場所からすべてのプロキシミティプロンプトの動作を管理でき、ゲーム内での重複コードの必要がなくなります。

イベント説明
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は、米国並びにその他の国における登録商標および非登録商標です。