Unityで使うことのできるオーディオ・エンジンのひとつとしてFMODがあります。FMODでは『パラメータ』を使って、臨機応変にサウンドを変化させることが可能ですが、プロジェクト全体に作用させることの出来る『グローバル・パラメータ』がver 2.00から導入されました。
FMODUnity.RuntimeManager.StudioSystem.setParameterByNameを使えば、スクリプト上のどこからでも、グローバル・パラメータを変化させることが出来ます。
しかし、このメソッドは文字列を使っているため、ID(int)を使うことで処理の負荷を下げたいです。
というわけで今回の記事はグローバル・パラメータのIDを取得する方法について書きます。
PARAMETER_DESCRIPTIONの取得
まずはPARAMETER_ID private変数を用意します。今回は_progressIDと_sceneIDの二つ。取得したIDをキャッシュしておくために必要です。
そして、AwakeかStartメソッドで
FMODUnity.RuntimeManager.StudioSystem.getParameterDescriptionByName
を使ってPARAMETER_DESCRIPTIONを取得、id変数からPARAMETER_IDを獲得します。
FMODUnity.RuntimeManager.StudioSystem.setParameterByID
を使って、グローバル・パラメータを効率良く変更することが出来るようになります。
グローバル・パラメータを上手く使えばパラメータ管理がかなり楽になるので、上手く活用していきたいですね!