LoginSignup
0
0

【UEFN】Verseでプレイヤーの移動速度上げてみる

Last updated at Posted at 2023-12-19

背景

BOX PVPで移動速度の速い役職を作るために調べました。

やること

トリガーを押したら移動速度が常に上がるようにすること。

動画

実装

利用するDevice

ムーブメントモジュレーター
image.png
設定

  • スピードを3倍
  • 効果無限

image.png

いつものトリガー
image.png

全体コード

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


player_speed_device := class(creative_device):

    @editable
    Speed:movement_modulator_device=movement_modulator_device{}

    @editable
    Trigger:trigger_device=trigger_device{}

    OnBegin<override>()<suspends>:void=
        Trigger.TriggeredEvent.Subscribe(SpeedUp)

    SpeedUp(QAgent : ?agent):void=
        if (Agent := QAgent?):
            Print("Speeding up")
            Speed.Activate(Agent)

とても単純でスピードを速くしたいプレイヤーのAgentを取得してActivateするだけでした。

movement_modulator_deviceの中身を見てみます。

    # Used to temporarily modify the speed of `agent`s and vehicles.
    movement_modulator_device<public> := class<concrete><final>(creative_device_base):
        # Signaled when this device is activated by an `agent`.
        # Sends the `agent` that activated this device.
        ActivationEvent<public>:listenable(agent) = external {}

        # Enables this device.
        Enable<public>():void = external {}

        # Disables this device.
        Disable<public>():void = external {}

        # Activates this device's movement effect on `Agent`.
        Activate<public>(Agent:agent):void = external {}

凄く単純でデバイスの有、無効化やActivateしたときのイベント購読だけでした。スピードの調整は行えないようです。

まとめ

こちらもすごく単純にいけそうでした。

欲を言うとこのようなデバイスを介さずにfort_characterから直接操作出来たらいいのになと思いました。

余談

この度UEFN/Verseに関するオープンコミュニティサーバーを建ち上げました。ちょっとでも興味があれば奮ってご参加くださいませ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0