【Unity】Master Audio: AAA Sound Solutionで３Dサウンドをする

#はじめに
「[Master Audio: AAA Sound Solution](https://www.assetstore.unity3d.com/#!/content/5607?aid=1100l3oC8)」とは
![スクリーンショット 2018-05-28 19.51.42.png](https://qiita-image-store.s3.amazonaws.com/0/158441/ab88d482-8732-928c-ccd6-495e9714deed.png)


>ZyngaやKingsIsleなど話題の企業のためのオーディオプラグイン 
Master Audioがとてつもなく使いやすい、速い、他を寄せ付けないパワーとフレキシビリティを提供します。組み合わせやすいあらゆるシナリオをコードしましたので自分で何かを書く必要はありません。Playmakerがなくても、フレキシブルな「コード不要」のイベントベースのスクリプトがあります。 

>:: 簡単！ シーンのサウンドとサウンドトラックごとにコード不要でセットアップ！ 
:: コーディング不要！ コード不要でサウンド、プレイリスト、グループのコントロールを可能とするパワフルでフレキシブルなイベントドリブンスクリプト！ 
:: 合理的！ 統合オーディオクリップマネージャウィンドウによりサンプルレートと他のプロパティを一括変更可！ 
:: 爆発的！ サウンドミュージックダッキングごとに構築！ 
:: ハマる！ マルチレイヤーの音楽をクロスフェーディングで望みのままにセットアップ！ 
:: パワー！ Unity Audio Filter FX をサポート、Master Audioが独占提供！ 
:: 楽しい！ ジュークボックスがプレイリストのインスタントテスティングコントロールを提供！ 
:: フルオーディオプーリング！ すべてのプラットフォームでスムーズなパフォーマンスを実現！ 
:: トータルコントロール！ バス、ミュート/ソロスイッチなどのプロオーディオミキサーコントロールで良好なコントロールを実現！ 
:: フレキシブル！ リソースファイルからオーディオのオートマティックローディングとアンローディング！ 
:: インスタンスリミッティングとタイムリミテッドリトリガリングなどの多くの先進機能 
:: ランダムに *重みをつけた* サウンドバリエーション 
:: 5つ星のサポート、とにかくレビューを読んでください！ 

>すべてのエクスポートプラットフォームをサポートして、モバイルゲームに最高のパフォーマンスを実現
信じられないほど高速で安定したセットアップ、プラグアンドプレイのみ。直感的なコントロールによって高速調整と最適化されたワークフローを実現、重要な仕事に時間を使えます 

>Unity 3と4で動作！ 

>Master Audioで良質のオーディオと高速性能を手にしよう

Unity3時代からあってデフォルトのUnityオーディオ機能をパワーアップしてくれるオーディオプラグインです

#3Dサウンドとは
立体的に聞こえるような効果をもたらすよう3次元処理が施された音、またはそれを作り出す機能のこと
実装する事により臨場感が増します

#動作確認
windows10
Unity 2018.1.1f
Master Audio: AAA Sound Solution V 4.1.7

#基本的な使い方
Master Audio: AAA Sound Solution　サウンド周りはこれで完璧。今日は使い方の説明付き
http://www.asset-sale.net/entry/2015/07/10/011320

アセットをインポートしてきて新しいシーンを作ったらWindow->Master Audio Master->Master Audio Manager選び
![bandicam 2018-05-27 23-59-16-410.jpg](https://qiita-image-store.s3.amazonaws.com/0/158441/af62be87-c418-997b-0666-507ba9be76b8.jpeg)

MasterAudioPrefabのCreateを選ぶとシーン上にMasterAudioオブジェクトが生成されます
![bandicam 2018-05-28 00-02-25-166.jpg](https://qiita-image-store.s3.amazonaws.com/0/158441/73c3d6e6-6a5c-d6cf-c13c-78c9675d1421.jpeg)

MasterAudioオブジェクトを選びInspectorのGroupMixerの黄色ゾーンにAudioClipをドラックアンドドロップします　すると　MasterAudioオブジェクトの直下に今追加した再生するためのオブジェクトが追加されます。
![t1.gif](https://qiita-image-store.s3.amazonaws.com/0/158441/3ef708bb-9cc1-d893-5bad-4d118328bd0a.gif)

ちなみにBusControlのForce to 2Dで3Dか2Dかを選択できます
![bandicam 2018-05-28 00-24-01-711.jpg](https://qiita-image-store.s3.amazonaws.com/0/158441/98f451a2-8b2b-3173-6df0-15dcb1b576fe.jpeg)


これでオーディオを再生する準備ができました。
いろいろな再生するやり方がありますが、今回は付属のスクリプトをオブジェクトにアタッチして鳴らす方法をしてみます
EventSoundsスクリプトを音源となるオブジェクトにアタッチしどういったイベントで鳴らすか設定します
今回はオブジェクトがアクティブになった際音がなる設定をします
Event To Activate を選びEnableを選んだら　SoundTriggersにEnableができます
SoundGroupをクリックすると追加したAudioの名前の一覧ができるので再生したいオーディオの名前を選ぶ

![t2.gif](https://qiita-image-store.s3.amazonaws.com/0/158441/a5850fb4-b357-c7db-1f8c-f7ede8be5fab.gif)

でプレイをすれば再生されるのですが、その前にちゃんとAudioListenerが必ずシーン上にあるのを確認しましょう
AudioListenerとはいわゆる人間でゆう耳の役割をもったコンポーネントです
なので３Dサウンドにとってはかなり重要とされるものです。
通常カメラにデフォルトでついているものなのであまり気にする必要はないですが、覚えといて損はないと思います

とゆう訳なのでプレイして先ほど作った音源となるオブジェクトをアクティブにしてみましょう
左右のスピーカーから音源がなれば成功です。

#遮蔽物に対してフィルターをかけるように鳴らす
これはデフォルトのUnityの機能で作るとなると大変だと思うのですが（多分）、MasterAudioを使えばすごく簡単に行うことが可能です
MasterAudioコンポーネントのAdvancedSettingsのUseOcclusionをチェックします
いろいろパラメーターがあり、グループごとに設定できたりとかフィルターの値など設定できます
![t3.gif](https://qiita-image-store.s3.amazonaws.com/0/158441/ba433a3d-a14d-90a6-36fd-a0a6d213e0b9.gif)

適当に遮蔽物と音源とAudioListenerを設定してあげれば実装完了です
つなみに音のフィルターされている状況が再生中シーン画面で確認できるので確認してみましょう
緑の線の時は通常に聞こえて、赤の線になるとフィルターを通した音源になります
![t3.gif](https://qiita-image-store.s3.amazonaws.com/0/158441/f28621b8-38dd-2127-6868-dac2ad0aa050.gif)