UEFN / Verse

【UEFN】HUD Message Device (HUDメッセージの仕掛け) の使い方|Verse制御で特定のプレイヤーに表示する実装手順

UEクリエイターズ【運営】

こんにちは、UEクリエイターズです。今回もUEFN(Unreal Editor for Fortnite)の使い方について解説していきます。

この記事では、HUDメッセージデバイスの使い方とVerseによる制御方法について具体的に説明していきます。

動画でも解説しているので参考にしてみてください。


概要

本記事では、プレイヤーが特定のエリア(ゲートなど)に侵入した際、ヘッドアップディスプレイ(HUD)にカスタムテキストを表示する機能を実装します。

標準的なデバイス同士の接続(イベントバインディング)でも同様のことは可能ですが、Verseを用いることで、複数の条件分岐や他のロジックと組み合わせた高度な演出管理が可能になります。また、コードベースで管理することで、プロジェクトが大規模化した際のメンテナンス性も向上します。

実演環境:UnrealEditor5.8(2026年1月時点)

デバイスの配置と基本設定

まず、エディター上で必要となるデバイスを配置し、プロパティを調整します。

HUD Message Device(HUDメッセージデバイス)

  1. Content Browser(コンテンツブラウザ)から HUD Message Device を検索し、レベルに配置します。
  2. User Options(ユーザーオプション)内の Message(メッセージ) 項目に、表示したいテキストを入力します(例:「Welcome to City A」)。

Trigger Device(トリガーの仕掛け)

【UEFN】トリガーの仕掛けの使い方
  1. Trigger Device を配置し、プレイヤーの侵入を検知したい場所にサイズを合わせます。
  2. 自然な演出にするため、以下の設定を False に変更します。
    • Visible in Game(ゲーム中に表示)
    • Trigger VFX(トリガー視覚効果)
    • Trigger SFX(トリガー音響効果)

ゲートの用意(任意)

例)FenceA Desert Gate

演出用のアイテムなので、設置しなくても構いません。


Verseによる制御・実装

次に、Verseスクリプトを作成してトリガーとHUDメッセージを紐付けます。

1. スクリプトの作成

Verse Explorer から新しい Verse ファイルを作成します。クラス名は hud_display_manager とします。

2. 実装コード

以下のコードをスクリプトに記述します。

# ----------------------------------------------
# Documentation: https://uecreators.com/hud-message-verse
# ----------------------------------------------

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

# トリガーを踏むと、画面にメッセージを表示するデバイス
hud_display_manager := class(creative_device):

    # 1. メッセージを表示する仕掛け(HUD Message)
    # エディタで「ようこそ!」「危険エリア!」などの文字を設定します
    @editable
    MyMessage : hud_message_device = hud_message_device{}

    # 2. きっかけとなるトリガー(床に置くタイプ)
    # プレイヤーがこれを踏むとメッセージが出ます
    @editable
    MessageTrigger : trigger_device = trigger_device{}

    # ゲーム開始時の処理
    OnBegin<override>()<suspends>:void=
        # トリガーが踏まれた(Triggered)時のイベントを登録
        MessageTrigger.TriggeredEvent.Subscribe(OnTriggerActivated)

    # トリガーが踏まれた時に実行される関数
    OnTriggerActivated(MaybeAgent : ?agent):void=
        # Triggerは「?agent(空かもしれない)」を送ってくる可能性があるため、
        # if式で「本当にプレイヤー(Agent)がいるか?」を確認します
        if (Agent := MaybeAgent?):
            # プレイヤーが確認できたら、その人だけにメッセージを表示
            MyMessage.Show(Agent)

3. コードのポイント解説

オプション型(?agent)の処理

トリガーのイベントは、起動者がいない可能性を考慮して ?agent 型で情報を送ります。Verseではこれを if (Agent := MaybeAgent?) という構文でチェックし、有効なエージェントが存在する場合のみ処理を続行させます。

Show(Agent) メソッド

hud_message_deviceShow 関数に Agent を渡すことで、そのトリガーを踏んだ特定のプレイヤーにのみメッセージを表示させることができます。これはマルチプレイ環境において非常に重要な仕様です。


最終的なセットアップ

コードのビルド(Verse > Build Verse Code)が完了したら、レベル上の設定を仕上げます。

  1. 作成した hud_display_manager デバイスをレベルに配置します。
  2. Details(詳細)パネルに表示されている MyMessageMessageTrigger の項目に対し、レベル上に配置したそれぞれのデバイスを紐付けます。
  3. Push Changes(変更をプッシュ)をクリックして、実際の挙動を確認してください。

まとめ

今回の実装により、Verseを用いた基本的なHUD制御が可能になりました。この手法を応用すれば、インベントリの内容に応じたメッセージの出し分けや、タイマーと連動した通知など、複雑なゲームロジックを構築できます。

関連資料

動画版はこちら:https://youtu.be/QmlyTehbPpM

GitHub:https://github.com/uecreators/uefn-verse-collection/tree/main/hud_display_manager

参考資料

hud_message_device class|Verse API Reference
Option|エピック公式ドキュメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


ABOUT ME
UECREATORS
UECREATORS
メタバース制作スタジオ
UEFN/Verse言語に特化した、Fortnite専門メタバース制作スタジオ「UECREATORS」の公式サイトです。当サイトでは、UEFNを用いたゲーム制作技術、Verseプログラミングの実装方法、3D空間設計のノウハウを発信しています。
【法人様・事業者様へ】UEFNを活用したメタバース空間の受託制作・開発支援を行っております。制作のご相談・お見積もりは、お問い合わせフォームより承っております。
Recommend
こちらの記事もどうぞ
記事URLをコピーしました