メインコンテンツへスキップ
< すべてのトピックに戻る

シーン切り替え時にBGMを途切れなく継続する方法は?

BGMを再生する AudioSource コンポーネントを持った空のオブジェクトを作成し、スクリプトで DontDestroyOnLoad(gameObject);を実行します。

Unityの標準仕様では、シーンが切り替わる(LoadSceneされる)と古いシーンにあったすべてのオブジェクトと音が強制的に削除されてしまい、音楽が途切れて不自然になるためです。

このオブジェクトはシーン遷移で消えなくなりますが、何度もタイトル画面を行き来するとBGMオブジェクトが2個、3個と増殖してしまうバグが起きやすいため、Awake時に「既に存在していれば自分を削除する」というシングルトンの処理を必ず記述します。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に