サウンドマネージャー機能を使って効果音を付ける

Unity 放置インフレ系クリッカーゲームの作り方 (スマホ化対応)


Unityの本格ゲーム制作講座はこちら
【30日間の全額返金保証付き】

前回はコイン取得演出の追加と、セーブ・ロード処理を追加し、ほぼ完成という状態になりました。

前回の記事↓

PlayerPrefsを用いたセーブ・ロード処理とインターフェースを使ったデバッグシステムの開発
前回でコイン獲得時のアニメーション処理を作り、ゲームのメイン処理ができあがりました。 前回の記事↓ ですが、インフレ系クリッカーゲームは一度のプレイで完結しないため、セーブシステムが欠かせません。 ここでは、PlayerPrefs...

今回はサウンドの追加を行い、ゲームとしての完成を目指します。

サウンドの追加にはサウンドマネージャーを使用します。ここまで通して読んでいただいた方には申し訳ございませんが、一度サウンドマネージャー作成講座の方を先に見ていただき、改めてこちらへ進んでいただくとスムーズに制作が出来ます。

サウンドマネージャーの記事↓

【Unity入門】汎用サウンドマネージャー(Sound Manager)の作り方 前編
ゲームを作るに当たって、最後に手を入れがちですが、とても重要なのが「サウンド」です。 Unityには標準のサウンド機能(AudioClip,AudioSource,AudioListener)があるのですが、これをそのまま使うのはちょ...

【Unity入門の森の最新ゲーム開発講座もお届け】

サウンド追加

まずSceneにSoundManagerを配置しましょう。

CTRL+SHIFT+Nキーで新規オブジェクトを作成し、名前は「SoundManager」に。
スクリプトを新規追加で、こちらも名前は「SoundManager」にしておきましょう。

今回はSingletonを使ったアクセス方法にします。

SoundManagerスクリプトは以下のように修正します(サウンドマネージャー作成講座と同じ内容です

さて、このゲームに音を付けるわけですが、音を鳴らすポイントを列挙してみましょう。

  • コインの取得音
  • 売却ボタンのボタン音
  • 羊購入音
  • 羊毛刈り取り音
  • 羊の鳴き声(羊毛が全て刈り取られた時)

まぁ、こんな所でしょうか。ゲームがシンプルなので大分少ないですね。

では、これらに対応した効果音を探しましょう。

効果音の用意

手元に大量の効果音素材を持っているような方はその中からそれっぽいものを探し出してくれれば良いですが、そうでない方はフリー素材で揃えてしまいましょう。

講座上は 効果音ラボ様からを以下ファイルをダウンロードしてきて使います。

自然・動物[1] から
・ヒツジの鳴き声.mp3

戦闘[1] から
・剣の素振り2.mp3

ボタン・システム音[1]
・決定・ボタン押下1.mp3
・カーソル移動1.mp3

初学者の方は揃えたほうがわかりやすいと思いますので同じく上記ファイル4つをダウンロードしておいてください。(以降、この4ファイル名を想定した内容になりますので、ご自分で用意した音素材を利用するかたは、適宜読み替えてください。)

この各種mp3ファイルをプロジェクトにインポートしたいのですが、まず先にAssetsフォルダに新規作成でSoundsフォルダを作成して、その中に音声ファイルをドラッグ・アンド・ドロップします。

これで、準備は完了です。

SoundManagerへの登録

では、これらをSoundManagerSound Datasに登録します。
Size4にし、それぞれにName(別名)AudioClipのペアを登録します。

今回のAudioClipと登録名・その用途は以下になります。

効果音 登録名 用途
カーソル移動1 コイン コインの取得音
決定・ボタン押下1 ボタン 売却ボタンのボタン音
剣の素振り2 刈り取り 羊毛刈り取り音
ヒツジの鳴き声 メー 羊の鳴き声(羊毛が全て刈り取られた時)
羊購入音

※登録名さえ同じであれば、登録するAudioClipは自由に入れ替えて構いません(そのための別名登録機能です)

スクリプトから効果音再生

それでは順にスクリプトから適宜効果音が再生されるように修正していきます。

まず

  • コインの取得音

は、コインが消えると同時に鳴るようにしましょう。

CoinスクリプトUpdateメソッド内、Destroy(gameObject);の下に追加します。
音を鳴らすのはSoundManagerなので、CoinオブジェクトそのものがDestroyされても問題ないのがありがたいですね。

次に

  • 売却ボタンのボタン音

です。これは GameMainスクリプトSellAllWoolメソッド内に追加します。

  • 羊毛刈り取り音

これは、追加場所の候補が2つあります

  1. SheepスクリプトShavingメソッド
  2. Woolオブジェクトの生成時(Startメソッド内)

どちらでも構いませんが、今回は

  1. SheepスクリプトのShavingメソッド内

にしましょう。

SheepスクリプトShavingメソッド内の一番最後に追加します。

加えて

  • 羊の鳴き声(羊毛が全て刈り取られた時)

SheepスクリプトShavingメソッド内の 羊毛が無くなった(woolCnt <= 0)の中に書くことになります。

 

  • 羊購入音

最後に羊の購入音になります。

これも SheepButtonのクリック時か、Sheepオブジェクトの生成時の2つ候補がある
ように見がちですが、Sheepオブジェクト生成時だと、セーブしたゲームをロードした時にSheepオブジェクトが生成され、そのタイミングで効果音が再生されてしまいます。
なので、ここは SheepButtonのクリック時 が良さそうです。

SheepButtonスクリプトCreateSheepメソッドに追加しましょう。

これで効果音追加は以上になります。

各種スクリプトが全て保存されているか確認をして、UnityEditorで効果音が再生されているか確認してみてください。

なお、大分適当に効果音を割り当てていますので、もっと適切な音源がありましたらどんどんと登録を差し替えちゃいましょう。

また、SoundManagerPlayable Distance(効果音と効果音の再生間隔)も今は0.2になっていますが、音割れしない範囲で調整してみてください。

まとめ

今回は効果音の追加を行い、ゲームのメイン部分を完成させることが出来ました。

最後に残るはスマホ対応化ですね!

次回が最後の講座、

全11回に加え、サウンドマネージャー作成も途中で入っているため非常に長い講座となってしまいました、ここまでお付き合い頂き誠にありがとうございました。


【Unity入門の森の最新ゲーム開発講座もお届け】

コメント

タイトルとURLをコピーしました