プレイヤーのテレポート

確認済のバージョン: 2017.3

-

難易度: 初級

シーン内のある領域から別の領域へ、あるいは別のステージへ、プレイヤーをテレポートさせることができます。

同じシーン内でのテレポート

プレイヤーをテレポートさせるには、 遷移 の設定が必要です。ひとつのシーン内でテレポートを行うためには、以下の 2 つのプレハブを作成します。

  • TransitionStart
  • TransitionEnd

まず最初に、遷移元(出発点)を設定します。

  • Project ウィンドウで、Prefabs > SceneControl の順に選択してください。
  • TransitionStart プレハブを見付けてください。
  • TransitionStartScene ビュー にドラッグしてください。プレイヤーが歩いた際にコライダー〔Collider〕(緑のボックス)に接触する位置に配置します。下の画像では扉の反対側に設置しています。

遷移先(目的地点)の設定は以下の手順で行います。

  • SceneControl フォルダーから TransitionStart プレハブをもう 1 つ Scene ビュー 内にドラッグしてください。
  • Inspector 内で、その名前を「TransitionEnd」に変更してください。

ここで、この 2 つを接続します。

  • Hierarchy 内で、TransitionStart ゲームオブジェクトを選択してください。
  • Inspector 内で、TransitionPoint コンポーネントを見付けてください。
  • Hierarchy から Ellen ゲームオブジェクトを、 Transition Point コンポーネントの「Transitioning Game Object」のスロットへドラッグしてください。
  • Transition Type」を「Same Scene」に設定してください。

これにより、テレポートするオブジェクトが Ellen のみになり、また同一シーン内でテレポートが行われるように設定されました。

では、テレポート先(目的地点)を設定しましょう。

  • TransitionEnd ゲームオブジェクトを TransitionPoint コンポーネントの 「DestinationTransform」のスロットへドラッグしてください。
  • Transition When」を「On Trigger Enter」に設定します。

On Trigger Enter」に設定した場合、プレイヤーがその Collider(緑の衝突ボックス)に入った場合にのみ Transition(遷移)がアクティベートされ、キーボードのキー操作ではアクティベートされません。逆にプレイヤーがインタラクトキー(E)を押した時にだけアクティベートさせたい場合は、「Transition When」を「Interact Pressed」に設定してください。

別のシーンへのテレポート

別のシーンへプレイヤーをテレポートさせる場合、以下の 2 つのプレハブが必要です。

  • TransitionStart ― 上記で使用したものと同じプレハブです。プレイヤーを目的地へ「転送」するものです。このプレハブは Transition Start コンポーネントを含んでおり、テレポートの始点と終点に関するすべてのプロパティはこのコンポーネントによって設定されます。このプレハブをトランスポートの始点に設置します。
  • TransitionDestination ― プレイヤーを「受け取る」プレハブです。これは Transition Destination コンポーネントを含んでいます。このプレハブを、別のシーン内で、トランスポートの終点に設置します。

これら 2 つのコンポーネントに関する詳細は、コンポーネントに関するリファレンスガイドを参照してください。

TransitionDestination(遷移先)を設定する

まず、目的地点の設定から始めます。出発地点は後で設定します。特定のシーンに遷移を追加するには、そのシーンを開き、Project ウィンドウで Prefabs > SceneControl > TransitionDestination の順に選択します。これをそのシーン内で、テレポート先として設定したい位置に配置します。

TransitionDestinaton プレハブには Scene Transition Destination コンポーネントが含まれています。

  • まず、「Destination Tag」に任意のアルファベットを選択してください。どの文字を選んでも(そのシーン内で他にその文字の設定された Scene Transition Destination コンポーネントがなければ)問題ありません。
  • 次に、どのゲームオブジェクトを受け取るか設定します。プレイヤーゲームオブジェクト(Ellen)を Hierarchy ウィンドウから「Transitioning Game Object」のスロットにドラッグしてください。
  • 最後に、この目的地点のシーンがエディターの Build Settings ウィンドウに登録されていることを確認します。確実に登録するには、メニューの File から Build Settings を選択してウィンドウを開き、「Add Open Scenes」をクリックしてください。

TransitionStart(遷移元)を設定する

設定は上記とほぼ同じですが、以下の点が変わります。

  • Transition Type」は「Different Zone」に設定します。
  • New Scene Name」を転送先のシーンに設定します。
  • Transition Destination Tag」を、Transition Destination コンポーネント の「 Destination Tag 」で選択したアルファベットに設定します。

それでは、サンプルゲームの最初のステージにプレイヤーをテレポートさせてみましょう。Transition Start コンポーネント内で、以下のように設定を変更してください。

  • Transition Type」は「Different Zone」に設定します。
  • New Scene Name」を「Zone1」に設定してください。
  • Transition Destination」を「A」に設定してください。

再生ボタンを押し、遷移の出発点まで歩いてください。Zone1 の冒頭にテレポートされるはずです!

関連するチュートリアル