1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Unity】Adressables な AudioMixer を使いやすくする AudioMixerManager

Posted at

概要

Addressables 化した AudioMixer を Addressables 外から扱うには、LoadAssetAsync で取得する必要があります。
その手間をシングルトンで解決したAudioMixerManagerを作りました。
Group や Parameter を Enum で指定したり、複数の Parameter をまとめて変更したりできます。

使用例.cs
// audioSource に SE の AudioMixerGroup を代入
audioSource.outputAudioMixerGroup = AudioMixerManager.GetMixerGroup(AudioMixerGroupEnum.SE);
// 音量を 1 に変化(5秒の InSine に合わせて)
AudioMixerManager.SetVolume(AudioMixerParameterEnum.SeVolume, 1f, 5f, Ease.InSine);
// BGM と SE のピッチを 1.2 に変化(2秒の OutBounce に合わせて)
AudioMixerManager.SetParameters(1.2f, 2f, Ease.OutBounce,
    AudioMixerParameterEnum.BgmPitch,
    AudioMixerParameterEnum.SePitch);

コード

導入方法

  1. DoTween と Addressables と UniTask を導入します(無くても修正すれば使えます)。
  2. AudioMixerManager.cs をプロジェクト内に置きます。
  3. AudioMixer にあるAudioMixerGroup, Snapshot, Exposed Parametersを AudioMixerManager.cs 内の3つの Enum に反映します。
  4. AudioMixer を "AudioMixer" という名前で Addressables に登録します。

関数説明

関数名 説明
GetMixerGroup Enum の名前と一致する AudioMixerGroup を取得
GetMixerGroups Enum の名前と一致する AudioMixerGroup を全て取得
GetSnapshot Enum の名前と一致する AudioMixerSnapshot を取得
TransitionToSnapshot 特定の Snapshot の weight を変更
TransitionToSnapshots 複数の Snapshot の weight を個別に変更
TransitionToSnapshots 複数の Snapshot の weight をまとめて変更
TransitionBeTweenSnapshot fromSnapshot の weight を 0 に、
toSnapshot の weight を 1 に変更
GetParameter Enum の名前と一致する Parameter の値を取得
SetParameter Enum の名前と一致する Parameter を変更
SetParameters 複数の Parameter をまとめて変更
GetVolume Enum の名前と一致する Parameter の値を
デシベルから音量に変換して取得
SetVolume Enum の名前と一致する Parameter の値を
音量からデシベルに変換して変更
SetVolumes 複数の Parameter を
音量からデシベルに変換してまとめて変更
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?