シェケナベイベー

れっつだんしんぐ!

3D Game Kit Liteによる学習~その7


※本ページはUnityエディタ2021.3.4f1バージョンにて確認しています。

 

3D Game Kit Liteを利用した学習過程をまとめてみようシリーズ第7弾。以下のリソースを元にまとめています。

 

assetstore.unity.com

learn.unity.com

 

今度のお題はテレポート処理だ。これもゲームUIの一つと言えるのだが、おおきく同一Scene内への移動と、他のSceneへの移動の二つに大別される。それぞれ使い方が微妙に異なるので順に勉強しよう。

 

まずは同じScene内への移動から。

ProBuilderを覚えているだろうか?ソレっぽい雰囲気出す為にもテレポータゲートを用意してみよう。New ShapeからDoorタイプを選択してSceneに配置する。TeleportGateでも名付けようか。

続いてPrefabs>SceneControlからTrasitionStartをTeleportGateの近くに配置する。BoxColliderの大きさをゲートに合わせて微調整して置くとなお良い。

忘れずにテレポート先も追加しておこう。TrasitionStartをも一つSceneに追加してTrasitionEndとでも名付けておこう。

 

さてTrasitionStartを選択してInspectorで以下の様に設定してみよう。

  • Transition Game Object:Ellenを指定
  • Trasition Type:今回はSame Sceneを指定
  • Destination Transform:SameSceneの追加設定でTransitionEndを指定
  • Transiton When:On Trigger Enterを指定

さてRunの時間だ。上手くいったかな?他のオプション設定はとりあえず割愛。引き続き他Sceneへのテレポート実装だが、こちらは少し厄介なので長くなる。

 

まずUnityにおけるScene間の遷移であるがすべて理解するにはかなり難解なテーマとなるのでとりあえず以下を理解しておくこと。

  • Build SetteingにSceneの追加が必須である事(1Sceneだけなら問題は無いが)
  • Sceneが複数ある場合にはScene名、Sceneインデックス番号、Sceneタグなど取り扱いが複数用意されていてかえって混乱する部分があるので注意する事

故に他Sceneへテレポートする処理を実現させるためには複数Sceneが前提となるのでKitTools>Create New Sceneで新たにステージを追加するか、あるいは最初から用意されているExampleSceneを利用するかの二通りがある。今回はExampleSceneに触っておくべきとの案内もあるのでそちらを利用することにする。

  • AssetルートにあるExampleSceneをダブルクリックで開き、TransitionDestinationの存在を確認する。必要なら保存。
  • 学習で利用していたSceneを再度開き、TransitionStartを追加するか前のヤツを再利用して以下の様に設定する。

Runすると少しのローディング待ちの後にExampleSceneにテレポート出来たであろうか?順番は変わってしまうがExampleSceneにはTransitionDestinationと言うテレポート先を設定するコンポーネントが追加済みでありTransitioning Game ObjectにはEllenが設定され、Destination TagにAが設定済みだっただけだ。

なお上手くTransitionできない場合にはBuild Setteingを疑って欲しい。メニューからFile>Build Setteingで表示されるハズだ。ここにScenes In Buildと言う設定があり、ここに件のTransition元と先のSceneが含まれていなければならないからだ。ついでに説明しておくとそのリストの右端に表示されている数字が各Sceneに割り振られた背番号だ。通常0がデフォルトであり、Buildされたプログラムが走る際には0番のシーンが最初に表示される。

 

以上ながながとUnity Learnでの3D Game Kit Lite解説にお付き合い戴きありがとう。個人用メモ目的なのでがつがつ割愛した部分は多いが、ポイントは抑えた積りである。何か疑問やおかしな所があるならば出来る範囲で応対したいと思うのでお気軽にお問合せください。

 

お疲れさまでした!