こちらの記事では音声の実装~exeの出力を行います。
#音声の実装
前回まででゲーム部分は一通り完成しました。最後にBGMとSEを実装しましょう。
まずBGMを実装します。
Titleシーンに移動して、Hierarchyから右クリック>CreateEmptyを選択してからのオブジェクトを作成し、名前を「BGM」とします。
作成出来たらAudioSourceをAddComponentして、AudioClipに用意したBGMをドラッグ&ドロップしましょう。
また、BGMはシーンに入った瞬間再生させたいためPlayOnAwakeはチェックを入れたままにします。
Loopも同じくチェックしたままでOKです。
これで再生すると音楽が聞こえるようになります。
このBGMオブジェクトをコピーしてGameシーンとResultシーンにも設置し、Clipに登録するBGMを変えればBGMの設定は完了です。
次にSEです。
まずボタンを押したときの音声を実装します。
TitleシーンのStartButtonに、先ほどと同じようにAudioSourceをAddComponentして、ボタン用のSEをClipに登録します。
SEはAwakeとLoopの必要がないのでチェックは外しておきます。
設定出来たらSceneChangeButtonグラフに移動して、以下のようにノーツを繋ぎ変えます。
Audio Source:Play()ノーツは自身のAudioSourceに設定されている音声を再生するノーツです。
これで再生し、ButtonをクリックするとSEが聞こえるようになります。
ResultのButtonにも同じようにAudioSourceを取り付けたらボタンのSEはOKです。
あとはアイテムを拾った時の音声ですね。
Gameシーンに移動し、PlayerにAudioSourceをAddComponentして、アイテムを拾った時用のSEをClipに登録します。
次にItemControllerを開いて、SetVariableから以下のようにノーツを繋ぎ変えます。
Game Object:Find(Name)ノーツはシーンに存在するオブジェクトを名前検索し取得するノーツです。
Component:GetComponent(Type)(一番上のものを選択してください)ノーツは自身にアタッチされているコンポーネントにアクセスできるノーツです。
Audio Source:PlayOneShot(Clip)ノーツは指定したClipを一度だけ再生するノーツです。いくつも音が重なる場合があるときはこちらのノーツを使用して鳴らしましょう。
以上のことを踏まえると、
FindでPlayerオブジェクトを取得する。
PlayerのAudioSourceにアクセス。
登録したSEを再生してアイテムを削除する。
という流れですね。
これで再生しでアイテムを拾うとSEが聞こえるようになっていると思います。
音のバランスが気になる場合はAudioSourceのInspector内Volumeから調整してください!
これで音声の実装は完了です。
ついにゲームが一通り完成しました!
#exeの出力
最後の作業です!
ゲームを実際にexeファイルで遊べるようにします。
BuildSettingからPlayerSettingをクリックしましょう。
すると設定画面が開くので、以下のように変更して出力時のexeのウィンドウサイズを変えておきます。(1920*1080以外でも16:9の比率であればOKです)
設定出来たらBuildSettingに戻って、右下のBuildから出力しましょう。
出力後すぐ自動でexeが起動してほしい場合はBuildAndRunをクリックしてください。
保存できると、上のようなUnityアイコンのついたファイルが出来ますので、ダブルクリックすると実際の環境でゲームをプレイが可能になります。
これでexeの出力は完了です。
#最後に
ここまでチュートリアルお疲れさまでした。
目次にも書きましたが、今回のゲームは最低限の機能しか実装しておらずかなりシンプルなので、
・Resultから直接リトライできるようにする
・拾うとスコアが減ってしまうアイテムを作成する
・ゲームが始まる前にカウントダウンを挟む
・次に出てくるアイテムを予告して表示する
など、今まで覚えてきた機能を使って自由に要素を追加してみてください。
また、ここまで完走された方はぜひ感想アンケートにお答えいただけますと幸いです。
https://forms.gle/PA8dXoJiiazFNyex9 (Googleフォームに移動します)
それ以外で何かご意見等ございましたらコメント欄までお願いします。
ではでは、お付き合いいただきましてありがとうございました!