Unity事例ノート

UNITY

シーンを遷移しても同じBGMが鳴り続ける

シーンを移動しても、同じサウンドを鳴らし続けられる仕組みを作りましょう。

シーンをロードしたタイミングで、BGMが消されないように、スクリプトで制御します。

関連記事:
シーンを遷移してもカメラ追従を保持する
移動先のシーンで座標を指定する
別シーンへ遷移するボタンを設置する
ぶつかると最初からスタート
サウンド再生のPlayとPlayOneShotの違い

▼本ページ内容は、YouTubeでも解説しています。

シーンの準備

シーン名をScene1に変更します。

こういうダイアログが出てくれば、再ロードをクリックします。

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

プレーヤーのCubeが、Sphereにぶつかれば、シーンが切り替わるようにします。

Scene1の中に、CubeとSphereを作成し、少し距離をとります。

Cubeにリジッドボディを追加し、UseGravityのチェックを外します。

シーン2に遷移するためのスクリプトを書きます。

CubeMove.csを作成し、Cubeに追加します。

CubeMove.csを記述します。

▼YouTubeにて、このスクリプトを解説しています。

4行目、using UnityEngine.SceneManagement; を忘れずに書いておきましょう。

シーンの追加

ビルド設定から、シーンを追加します。

Scene1を追加します。

ビルド設定の画面は閉じておきます。

この状態で、いったんScene1を保存しておきます。

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

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

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

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

こちらも同様に、ビルド設定から、シーンを追加します。

ビルド設定の画面は閉じておきます。

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

シーンが変わってもサウンドの続きが鳴る

Scene1を開き、空のオブジェクトを作成します。

GameObject(空のオブジェクト)にオーディオソースを追加し、音楽データを入れます。

ゲーム開始時に再生と、ループにチェックを入れます。

SoundManager.csを作成し、GameObjectに追加します。

SoundManager.csを記述します。

▼YouTubeにて、このスクリプトを解説しています。

ゲームプレイしましょう。

Cubeを操作して、Sphereに触れるとScene2へ遷移します。

Scene2へ移っても、BGMの続きが鳴っていればOKです。

関連記事:
シーンを遷移してもカメラ追従を保持する
移動先のシーンで座標を指定する
別シーンへ遷移するボタンを設置する
ぶつかると最初からスタート
サウンド再生のPlayとPlayOneShotの違い

SCHOOL教室案内