Unity事例ノート

UNITY

シーンを遷移してもカメラ追従を保持する

カメラを追従させている中で、シーンが遷移した場合でも、追従をやめない仕組みをつくってみましょう。

MainCameraがSphereを追いかけていきますが、シーンが切り替わっても、引き続き追尾を続けています。

関連記事:
移動先のシーンで座標を指定する
オブジェクトに触れたとき別シーンへ移動
別シーンへ遷移するボタンを設置する
SerializedObject target has been destroyed.エラーの対処法
シーンを遷移しても同じBGMが鳴り続ける

Sphereを動かす

シーンの名前をScene1に変更し、再ロードをクリックします。

もう一つシーンを新規作成し、名前をScene2とします。

平面とSphereを作成し、色をつけます。

Sphereにリジッドボディを追加します。

Cubeを作成し、前方へ配置します。

SphereMove.csを作成し、Sphereに追加します。

カメラを追従させる

続いて、MainCameraが追従する仕組みをつくります。

CameraMove.csを作成し、MainCameraに追加します。

ターゲットのフィールドに、Sphereを入れます。

プレイして動かしてみると、Sphereの移動に合わせて、カメラが動きます。

またプログラムの中には、シーンが遷移しても消されないように、DontDestroyOnLoad(gameObject); を入れています。

ここまで、一旦Scene1を保存します。

続いて、ビルド設定でScene1を追加します。

ファイル > ビルド設定

シーンを追加し、このウィンドウを閉じます。

遷移先のシーン

続いて、遷移先のScene2をダブルクリックして開きます。

平面を作成します。

MainCameraのチェックを外し、非表示にします。

Scene2のライティング設定を行います。

ウィンドウ > レンダリング > ラインティング設定

ライティングの生成をクリックしましょう。

Scene2を保存します。

続いて、ビルド設定でScene2を追加します。

ファイル > ビルド設定

シーンを追加し、このウィンドウを閉じます。

シーン移動した後もカメラが追いかける

Scene1をダブルクリックして開きます。

ゲームプレイして、動きを確認しましょう。

Cubeにぶつかれば、シーン移動。

移動先のシーンでも、元のカメラが継続して、追いかけていきます。

関連記事:
移動先のシーンで座標を指定する
オブジェクトに触れたとき別シーンへ移動
別シーンへ遷移するボタンを設置する
SerializedObject target has been destroyed.エラーの対処法
シーンを遷移しても同じBGMが鳴り続ける