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とテレポーターを組み合わせる方法に改良しました。
あわせて読みたい


verseとテレポーターを組み合わせてプレイヤーキャラを回転させる
以前の記事で小道具に変身した状態でプレイヤーキャラクターを回転できない問題がありました。 その後、X(旧Twitter)で「テレポートを使えば小道具に変身したまま回転で…