12-2. ProxymityPromptによるインタラクト
ProxymityPromptによるインタラクト
ProxymityPromptとは
ProximityPromptは、Robloxにおいてプレイヤーがオブジェクトに近づいたときに表示されるインタラクトプロンプトです。この機能は、Robloxのエクスペリエンス開発において非常によく使用され、共通のインターフェースを通じてユーザーがインタラクト可能とします。
ProximityPromptはUIインタラクト処理ながらサーバー側でイベント処理できるようになっており、サーバー側で安全かつ効率的にインタラクションを実装することができます。
ProxymityPromptの使い方
ProximityPromptは、パーツやAttachmentにProximityPromptをアタッチすることで、そのオブジェクトがプレイヤーに近づいた際にプロンプトを表示するようになります。このプロンプトはカスタマイズ可能で、プレイヤーに表示されるメッセージや、プロンプトが発生する距離などを簡単に設定できます。DataModelツリーに直接付与も可能ですし、以下のようにプログラム生成も可能です。
このコード例では、特定のパーツにProximityPromptをプログラムからアタッチし、プレイヤーがパーツに近づいた際に「Interact」のプロンプトを表示します。
ProxymityPrompt によるインタラクト実行処理例
サーバー側でのProximityPromptのイベントを利用して、プレイヤーがオブジェクトとのインタラクションを行った際の処理を定義しています。
カスタマイズした活用
ProximityPromptは様々なカスタマイズが可能になっており、以下のような変更が可能です。またProximityPromptStyleをCustomにすることで自由な見た目とすることもできます。
- カスタムプロンプトの外観やテキストの変更
- ProximityPromptServiceを通じた一元的な管理
- アクションキーのカスタマイズ
- プロンプトの表示距離の調整
- プロンプトの持続時間の制御
- 視線が通っているかどうかでの有効化切替
ProximityPromptがうまく動かない場合、多くの場合視線チェック(RequiresLineOfSight)が通ってない事が多いことにも留意しておきましょう。