タイトル: オブジェクトに近づいている間だけメッセージを表示する方法
SEOタイトル: UE5でオブジェクトに近づいている間だけメッセージを表示する方法
Unreal Engine 5(UE5)では、プレイヤーが特定のオブジェクトに近づいている間だけメッセージを表示することが可能です。この処理を実装する方法には、キャラクター側に処理を記述する方法と、オブジェクト側に処理を記述する方法の2つがあります。それぞれの実装方法について詳しく解説します。
キャラクター側に記述する方法
この方法では、プレイヤーキャラクターが特定のオブジェクトに近づいたかどうかを検出し、条件を満たしたときにメッセージを表示します。
1. 変数を作成する
プレイヤーキャラクターのBlueprintで、以下の変数を作成します。
- Target Actor(ターゲットアクター) - 近づく対象のオブジェクト
- Distance Threshold(距離閾値) - メッセージを表示する距離
2. Tickイベントで距離を判定
「Event Tick」ノードを使用し、毎フレームごとにプレイヤーとターゲットアクターの距離を測定します。
- 「Get Actor Location」ノードでプレイヤーとターゲットアクターの位置を取得
- 「Vector Length」ノードを使って2つの位置の距離を計算
- 距離が「Distance Threshold」以下ならメッセージを表示
3. メッセージを表示
「Draw Text」や「Print String」ノードを使用し、条件を満たした場合に画面上にメッセージを表示します。
オブジェクト側に記述する方法
この方法では、プレイヤーがオブジェクトに近づいたかどうかをオブジェクト側で検出し、メッセージを表示します。
1. Box Collisionを追加
対象オブジェクトのBlueprintに「Box Collision」コンポーネントを追加し、プレイヤーとの接触を判定できるようにします。
2. オーバーラップイベントの設定
「Box Collision」の「On Component Begin Overlap」および「On Component End Overlap」イベントを追加し、プレイヤーが範囲内に入ったときと出たときの処理を設定します。
- 「On Component Begin Overlap」では、メッセージを表示する処理を実行
- 「On Component End Overlap」では、メッセージを非表示にする処理を実行
3. UIにメッセージを表示
「Create Widget」ノードを使用してメッセージを表示するUIを作成し、「Add to Viewport」ノードで画面に追加します。オーバーラップが終了したら「Remove from Parent」ノードで削除します。
まとめ
UE5では、プレイヤーが特定のオブジェクトに近づいたときにメッセージを表示する方法として、キャラクター側とオブジェクト側の2つのアプローチがあります。それぞれの方法にメリットがあり、用途に応じて適切な手法を選択してください。