すでに「Unity PlayGround Referenceガイド3」の展開課題「爆発音を再生する」「BGMを再生する」で見てきたように、Unity PlayGroundでもUnityでゲームを作る時と同じように、Audio SourecスクリプトとAudio Listenerスクリプトを使用することで、BGMや効果音を鳴らすことができます。
この時、Condition CollisionコンポーネントやCondition AreaコンポーネントのUse Custom Actionsにチェックを入れるのではなく、生成されるエフェクトのプレファブにAudioSourceをつけて、Play On Awakeで効果音を鳴らすようにすると、より手軽に効果音を鳴らすことができます。また、自機が破壊された時も爆発の効果音を再生することが可能になります(自機のプレファブにAudio Sourecをつけてしまうと、自機が消えると音が鳴らなくなるが、この方式だと音が再生される)。
ただし、この方法はBGMには向かないので、BGMの再生用に空のオブジェクトをシーン上に配置して、そこに別途Audio Sourecをアタッチし、BGM用のファイルを設定しましょう。
#Defenderに効果音を加える
1:Unity PlayGroundのサンプルゲームの一つ、Defenderに効果音を加えてみよう。サウンドを加えれば、もっとゲームが面白くなるぞ。
2:はじめにプロジェクトエリアのAssets>Prefab>Particlesを選択する。このフォルダ内にUnity PlayGroundのエフェクトに関するプレファブが収納されている。
3:プレファブの中からP_Explorerを選択し、Hierarchyにドラッグ&ドロップする。次にInspectorでインスタンスの名称をP_Explorer2と変更する。
4:続いて名称を変更したインスタンスをプロジェクトエリアにドラッグ&ドロップして、新しいプレファブを作る。このとき図のようなダイアログが表示されるので、「Original Prefab」をクリックする。
5:プロジェクトエリアからP_Explorer2プレファブを選択し、InspectorのAdd ComponentからAudio Sourecを絞り込み検索してアタッチする。
6:事前に爆発音の効果音ファイルを用意して、プロジェクトエリアにドラッグ&ドロップしておく。その後、P_Explorer2プレファブを選択し、InspectorにあるAudio SourecコンポネントのAudio Clipに爆発音の効果音ファイルをドラッグ&ドロップする。
7:プロジェクトエリアからLaserBeamプレファブを選択し、InspectorからOpen Prefabをクリックする。
9:LaserBeamプレファブが開くので、Destroy ActionコンポーネントのDeath Effectスロットの〇ボタンをクリックし、Select Game ObjetウィンドウからAssetsタブ→P_Explorer2を選択する。
10:再生ボタンをクリックして、レーザーで隕石を撃ち落としたら、破壊音が再生されるのを確認しよう。同じ手順を個々のエフェクトのプレファブに設定することで、エフェクトと効果音の再生を指定できる。
#DefenderにBGMを設定する
Hierarchyで右クリックしてCreate Emptyを選択する
2:Create EmptyのInspectorでAdd Componentをクリックし、Audio Sourecを絞り込み検索してアタッチする
3:事前にBGMファイルを用意して、プロジェクトエリアにドラッグ&ドロップしておく。その後、Create EmptyのInspectorにあるAudio SourecコンポネントのAudio ClipにBGMファイルをドラッグ&ドロップする。その後、Play On AwakeとLoopにチェックを入れる