降りた乗り物が元の場所に戻るようにしよう!

乗り捨てた乗り物がどこかに行ってしまって「サーバー立て直さなきゃ」となったことはありませんか?

今回はそんな時に便利な、On Get Off Item Triggerを使った「降りたアイテムが元の場所に戻るようにする」方法を紹介します!
必要な手順は少ないので、ぜひ自分でつくった乗り物に実装してみてください。

今回は下記の記事でつくった乗り物をベースに説明します。Ridable Itemがついたものであれば何でも大丈夫なので、好きな乗り物を用意してみてください!

降りたことを知らせる━On Get Off Item Triggerを設定する

さて、乗り物の準備はできましたでしょうか。
それでは、「降りたアイテムが元の場所に戻るようにする」方法を順を追って紹介します。

まずはOn Get Off Item Triggerを設定していきます。On Get Off Item Triggerはアイテムから降りた時にメッセージを通知するコンポーネントです。

  • Targetは「This」、Key(Targetの右の欄です)は「GetOff」、Valueは「Signal」としてください。

On Get Off Item Triggerの設定はこちらで完了です!
これで、このOn Get Off Item Triggerがついた乗り物から降りた時に「GetOff」というメッセージが送信されるようになります。

乗り物を元の場所に戻す━Warp Item Gimmickを設定する

あとは、このメッセージを受け取るギミックを用意するだけです。

今回は元の場所に戻したいので、Warp Item Gimmickを使用します。Warp Item Gimmckはこのコンポーネントがついているアイテムを指定の場所にワープさせることができます。

これを使って、Despawn Heightより下の位置にワープさせることでアイテムを初期の場所に戻すことができます。(Despawn Heightはワールドをアップロードするのに必須のコンポーネントです。詳細はこちらの記事で)

それでは、設定の仕方を順を追って紹介します。

  • まずは、新しくオブジェクトを作成します。
  • Despawn Heightより下にオブジェクトを配置します(今回は「respawn」という名前にしてみました)。

次は乗り物に設定を加えていきます。

  • 乗り物にWarp Item Gimmickをつけてください。
  • Targetを「This」、Keyを先ほどOn Get Off Item Triggerで設定した「GetOff」にしてください。これで乗り物から降りた時に送信される「GetOff」というメッセージを受け取ることができます。
  • 最後にワープする位置を設定するためにTarget Transformに先ほどつくった「respawn」を設定してください。

今回はOn Get Off Item Triggerから送った「GetOff」というメッセージをWarp Item Gimmickで受け取って、ワープするようにしました。

全体が下記のようになっていればOKです!(メッシュなどの部分は省いています)

これで「降りたらすぐに最初の場所に戻る乗り物」の完成です!

時間が経ってから元に戻るようにする──Item Timerを使う

このままだと降りた瞬間に最初の場所に戻ってしまいますが、Item Timerを使えば少し時間が経ってから戻るようにもできます。

手順は簡単です。先ほどのOn Get Off Item TriggerからWarp Item Gimmickへメッセージを送る間にItem Timerを入れるだけです。

それでは、ひとつずつ手順を追って紹介します。

まずはOn Get Off Item Triggerから「GetOff」のメッセージを受け取るようにします

  • Triggersの上の欄のTargetを「This」、Keyを「GetOff」と設定してください。
  • Delay Time Secondsは何秒遅らせるかを指定できます。好きな数字を設定してください。

次はItem TimerからWarp Item Gimmickにメッセージを送るようにします。

  • Item TimerのTriggersの下の「+」をおして、入力UIを表示させてください。
  • Targetは「This」、Keyは「GetOffSet」、Valueは「Signal」としてください。

あとはWarp Item Gimmickで「GetOffSet」のメッセージを受け取るようにするだけです!手順は先ほどと同じです!

  • Targetを「This」、KeyをItem Timerで設定した「GetOffSet」にしてください
  • 最後にワープする位置を設定するためにTarget Transformに「respawn」を設定してください。

これで完成です!
全体が下記のようになっていればOKです!(メッシュなどの部分は省いています)

先ほどのアイテムと比較してみると、この通り。降りて時間が経ってから戻るようになりました(図ではDelay Time Secondsを2秒に設定しました)。

一度降りるともう一度乗っても元に戻ってしまうので、ご注意を!(ロジックを使えば、再度乗った時に戻らないようにもできます)

以上が「降りたアイテムが元の場所に戻るようにする」方法の紹介でした。

お気づきの方もいるかもしれませんが、同じ手順でアイテムが手放されたことを通知するOn Release Item Triggerを使えば、離したアイテムが元に戻るようにもできます!
今回の記事で参考にしたclusterのワールドクリエイター高千穂マサキさんの記事「clusterアイテム自動お片付けギミック」でも詳しく解説されているので、こちらもぜひ!

色々な人で遊ぶ時や広いワールドでは便利なので、ぜひ使ってみてください!

記事をシェアしてワールド制作を盛り上げよう!