verseのTeleportToでプレイヤーキャラを回転させる

小道具プロセッサーで変身中に特定のボタンを押したら90度回転する機能を作ろうと思ったのですが、変身中に回転させたら変身が解除されてしまうため、没にした機能です。

ただ消すのも勿体ないですし、備忘録として残しておきます。

目次

機能説明

Qボタンを押下するとプレイヤーキャラが90度回転します。

小道具に変身中にQボタンを押下して回転しようとしても、変身が解除されてしまいます。

Verseのプログラム


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

player_position_device := class(creative_device):

    # 入力トリガーの仕掛け
    @editable
    MyInputTriggerDevice:input_trigger_device = input_trigger_device{}

    # ゲーム開始時
    OnBegin<override>()<suspends>:void=
        # 入力トリガーの仕掛けのイベントに関数を指定
        MyInputTriggerDevice.PressedEvent.Subscribe(OnInputPressed)
        # 入力トリガーの仕掛けに全てのプレイヤーを登録
        for (Player : GetPlayspace().GetPlayers()):
            MyInputTriggerDevice.Register(Player)

    # 関数 - ボタン押下時
    OnInputPressed(Agent:agent):void=
        if (FortChar := Agent.GetFortCharacter[]):
            # ボタンを押下したプレイヤーの位置情報を取得
            Transform := FortChar.GetTransform()
            Rotation := Transform.Rotation
            # 回転させるため90度加算
            NewRotation := Rotation.ApplyYaw(90.0)
            # キャラの位置はそのままで、90度回転だけさせる
            if (FortChar.TeleportTo[Transform.Translation, NewRotation]):

UEFNでの設定

入力トリガーの仕掛け

適当なトリガーを設定します。

今回は “クイックバー入れ換え” (建築モードの切り替え。デフォルトではQボタン)に設定しておきます。

verse と入力トリガーの仕掛けを紐づけ

verse を島にドラッグ&ドロップで設置して、入力トリガーの仕掛けと紐づけておきます。

次の記事

小道具に変身した状態で回転できるようにするため、verseとテレポーターを組み合わせる方法に改良しました。

よかったらシェアしてね!
目次