読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unity 5で音量を調整する方法

Unity Audio

音の音量調整が少し分かりにくかったので、ここにメモします。

オーディオのグループ等については、ココにメモしています。

tsubakit1.hateblo.jp

音量の調整

単純にオーディオのボリュームを調整する場合は、AudioSourceを使用します。音の発生元を何とかすれば良い法則です。AudioSource.Volumeを操作すればオーディオのボリュームが指定出来ます。最小値が0,最大値が1です。

f:id:tsubaki_t1:20150523225428p:plain

またSpatial Blendの設定が3D寄りの場合、距離に応じて音量が減少します。つまりAudioListener(耳)から遠い所で鳴った音は小さく、近くで鳴った音は大きく聞こえます。減衰率等は3D Sound Settingsで調整します。

f:id:tsubaki_t1:20150523230313p:plain

グループの音量をSnapshotを利用せず個別調整する

Unity5から追加されたオーディオのGroupを使用した場合、前回紹介したとおりGroup毎に音量を調整する事ができます。

Unity5のオーディオ機能について(1) - テラシュールブログ

f:id:tsubaki_t1:20150523234713g:plain

しかしSnapshotの一覧になりパターンの調整、例えばBGM/SE/Masterのような音量調整を行いたい場合はSnapshotは正直面倒です。なので、スライダーで個別に設定出来るようにしてみます。

f:id:tsubaki_t1:20150523232556g:plain

グループのオーディオを設定するには、UnityEngine.Audio.AudioMixerSetFloat(パラメータ名, 音量)を使用します。このパラメータ名が曲者で、AudioMixerで設定する必要があります。

  1. AudioMixerGroupを選択
  2. InspectorビューAttenuationVolumeを右クリックしExport Volume to scriptを選択
  3. Exposed Parametersで好きな名前に変更

f:id:tsubaki_t1:20150523232214g:plain

後はスクリプトでオーディオの音量を指定するわけですが、これdB(デシベル表記なので0〜1ではなく-80〜0で指定します。上のgifのようにMsterVolumeの名前で設定している場合は、以下のようにパラメータを調整します。

gist.github.com

上のコードの場合、uGUIのスライダーで指定すれば音量が調整できます。

f:id:tsubaki_t1:20150523232200p:plain

AudioMixerGroup.Volumeや"Master.Volume"とかで調整させてくれれば楽なんですが…なんでこんな面倒な仕組みなんでしょうね。

その他

もう一つ、会話シーン等で「会話中はBGMを下げる」もあるのですが、これはエフェクト機能が強く絡んでくるのでエフェクト紹介時にでも。

関連情報

www.youtube.com