YAMADA TAISHI’s diary

ゲームについてとか私の日記とか。このブログのあらゆるコードは好きにどうぞ。利用規約があるものは記事内のGitHubのRepositoryのリンクで貼られていると思うので、そちらを参照ください。

UnityでFMODを使おう!【後編】

こんにちは、やまだたいし( やまだ たいし (@OrotiYamatano) / Twitter )です。
FMODの使い方を探した時に日本語記事がなかったので本記事を作成しました。
他の人の取っ掛かりになればなと思います。

前編はコチラ
orotiyamatano.hatenablog.com

目次


FMODをUnityで使う


前回はFMOD Studioのクイックチュートリアルを行ったので、今回は実際にUnityで再生して確認していきたいと思います。

使用するUnityバージョンは2018.4以降とのことですが、私は2019.4を使っていこうと思います。
さっそくFMODのプラグインをダウンロードして行こうと思います。

FMODはアセットストアからダウンロード出来ます。(お目当てのバージョンではない場合、 こちら からダウンロード可能)

assetstore.unity.com

早速、パッケージマネージャーを使って、ダウンロード、インポートします。
(ダウンロードするバージョンは、FMOD Studioと同じであることを確認してください)

今回は単純な翻訳記事ではなく、前回クイックチュートリアルで作ったプロジェクトを鳴らすようにしてみたいと思います。
正式なチュートリアルをやりたい方は コチラ もしくは コチラ の英語のチュートリアルを参考にしてみてください。

UnityでFMODを使う


1.FMODのプラグインアセットのインストール完了後、パッケージのインポートが終わったら、[FMOD]>[Edit Settings]を選択

InspectorにFMODStudioSettingsが開かれます。
2.[Browse] をクリック。

3.前編で作成したFMODStudioプロジェクトフォルダー内の* .fsproを選択します。(私はNewProjectという名前で作成したのでNewProject.fsproを選択)

正しく完了すると、いくつかの追加設定が表示されます。

今回FMODを使うのでUnityの標準のサウンドは使えなくなります。
Aoudio関連のComponentを削除する必要があります。
消していきましょう。

4.SampleSceneを開き、HierachyのMainCameraを選択、InspectorよりAudioListenerをRemoveComponentで削除

5.代わりに[AddComponent]で[FMOD Studio]>[FMOD Studio Listener]を追加

エラーが出なければOKです。
推奨
後、完全にUnityのオーディオを使えなくして少しでも処理を軽くしたい方は、
Project Settings>Audio>Disable Unity Audioにチェックを入れると良いでしょう

さて、聞く側は出来たので次は鳴らす側です。

6.Hierachyに適当なGameObjectを追加し、カメラから近い位置に設置、Inspectorより[AddComponent]で[FMOD Studio]>[FMOD Studio Event Emitter]を追加

7.PlayEventの項目をObjectStartに変更し、Eventの虫眼鏡のマークをクリックしてEvent>NewEvent(前編で作ったEvent)を選択

ちなみに今回はparameterの値は入れないで再生しようと思います。
前回入れたparameterの値を使いたい方は自分で調べてください。

8.再生ボタンを押して、今回設定した音が再生されることを確認しましょう

これで以上です!

Q.音がならない

実装したのに音が鳴らない方もいるかも知れません。
いくつか原因となりそうなことを列挙したので確認してみてください。

原因1
FMOD StudioとUnityにインポートしたバージョンが違う場合、音がならないことがあるようです。
FMOD Studioと同じバージョンを使用しているか確認しましょう。
FMODのバージョンは[Help]>[About FMOD Studio]より確認が出来る。

原因2
Unityのバージョンが対応しているか確認する。
FMODのプラグインのバージョンによっては対応していないことがあるようです。
確認しましょう。

原因3
うっかりやってしまうのが、単純ですが、Unity側のMute AudioがOnになっている場合です。
もちろん聞こえないのでOnになっていないか確認しましょう。

原因4
オブジェクトがカメラから遠すぎる。
FMODで作った音は減衰機能が標準で入っています。
FMOD Studio ListenerをAddComponentしたカメラから遠すぎる場合、音が聞こえなくなってしまいます。
気をつけましょう。

これで一通り完了です


これでFMODが使えるようになりました。
具体的な制御やフェードなど、FMODの使い方が知りたい方は、コチラチュートリアルやドキュメントを参考にしてみてください。
また、海外では結構頻繁に使われるようなので、英語でYoutubeを検索すると、減衰機能を生かした実装のやり方などを紹介している方が出てきます。
Youtubeの英語翻訳字幕機能は自動でも割と精度がいいので、日本語に翻訳してみれば大体理解できます。
ドキュメントがどうしてもわからない方は動画を参考にしてみると良いかも知れません。

まとめ


以上、UnityでFMODを使おうでした。
日本では使う人はまだまだ少ないですが、WEBGL形式でも使うことが出来るのでUnity1WeekJamなどで試しに使ってみても良いかも知れません。
今後私も使っていきたいので、いろいろな方々が日本語記事を書いてわかりやすくなっていいったら、嬉しいです。
また要望があったら、ダッキングなどの処理なども書こうと思います。
皆、FMOD使ってみようぜ!以上、やまだたいしでした。