トリガー

📦 trigger_device とは?

プレイヤーやコードで発火し、他のデバイスやイベントを制御できるトリガー装置です。
フォートナイトのUEFN(Unreal Editor for Fortnite)において、Verseを使って動作をカスタマイズする際の基本的な発火装置です。
ドアの開閉、スピーカーの再生、NPC行動のトリガーなど、幅広い用途に活用されます。

🧠 イベント一覧(発火時)

イベント名発火条件用途例
TriggeredEventこのデバイスがトリガーされたとき他デバイスの制御、ログ記録、UI演出など

💻 サンプルコード

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

aim_sg_001_manager := class(creative_device):

    @editable
    var MyTrigger: trigger_device = trigger_device{}


# ゲーム開始時にトリガーイベントを登録
OnBegin<override>()<suspends>: void =
    MyTrigger.TriggeredEvent.Subscribe(OnTriggered)

# トリガーされたときに呼び出される関数
OnTriggered(Agent: ?agent): void =
    Print("トリガー発火!")

🛠 操作関数

  • Trigger(Agent: agent):指定されたプレイヤーでトリガーを発火
  • Trigger():プレイヤーなしで手動トリガー
  • Enable() / Disable():トリガーの有効・無効を切り替え
  • Reset():トリガー回数のリセット

📏 発火制限・遅延設定

  • SetMaxTriggerCount(MaxCount: int):最大トリガー回数を設定(0で無制限)
  • GetMaxTriggerCount():設定された最大トリガー回数を取得
  • GetTriggerCountRemaining():残りトリガー可能回数を取得
  • SetResetDelay(Time: float) / GetResetDelay():再トリガー可能までの時間を設定・取得
  • SetTransmitDelay(Time: float) / GetTransmitDelay():他デバイスへ通知するまでの遅延時間を設定・取得

💡 活用イメージ

  • ドアの開閉トリガー → TriggeredEvent + door_device.Toggle()
  • NPCの行動開始 → Trigger(Agent) で指定エージェントから発火
  • 5回だけ使える罠 → SetMaxTriggerCount(5) で発火回数制限
  • 複数イベントを連鎖させる → SetTransmitDelay() で順番制御

📘 補足

これらの制御関数(Enable / Reset / Delay関連など)は、基底クラス trigger_base_device から継承されたものです。
trigger_device を使う際には、そのまま直接利用可能です。

🔚 まとめ

trigger_device は、Verseスクリプトやゲーム内イベントの発火点として非常に汎用性の高いデバイスです。
発火回数や遅延の設定、エージェント指定の発火など、複雑なギミックや演出も構築できます。
UEFNでのインタラクティブな体験作りに欠かせない基本デバイスのひとつです。

コメント

タイトルとURLをコピーしました