AudioManager
BGM および SFX の再生、フェード、 ミュート、3D 空間音響を統合的に管理するマネージャーです。初期化時に DontDestroyOnLoad の GameObject を自動生成し、BGM 用 AudioSource を 1 つと SFX 用 8 チャンネルプールを構成します。
DI 登録
// AchManagerInstaller가 자동으로 등록합니다.
// 선택 등록이 필요한 경우:
public class MyInstaller : AchManagerInstaller
{
public override void Install(IServiceBuilder builder)
{
builder.Register<AudioManager>();
}
}
アクセスには ServiceLocator を使用します。
using AchEngine.DI;
using AchEngine.Managers;
var audio = ServiceLocator.Resolve<AudioManager>();
API
| メンバー | 説明 |
|---|---|
BgmVolume | BGM 音量(0 〜 1)。ミュート状態で変更しても内部値のみが更新されます。 |
SfxVolume | SFX 音量(0 〜 1)。ミュート状態で変更しても内部値のみが更新されます。 |
PlayBgm(clip) | BGM を即座に再生します。同じクリップがすでに再生中であれば無視されます。 |
PlayBgm(clip, fadeDuration) | 現在の BGM をフェードアウトしてから新しいクリップをフェードインします。fadeDuration は遷移全体の時間(秒)で、デフォルトは 0.5 です。 |
StopBgm() | BGM を即座に停止します。 |
StopBgm(fadeDuration) | BGM をフェードアウトしてから停止します。デフォルトは 0.5 秒です。 |
SetBgmVolume(volume, fadeDuration) | 指定時間をかけて BGM 音量を徐々に変更します。fadeDuration が 0 の場合は即座に適用されます。 |
MuteBgm(bool) | BGM のミュート状態を設定します。ミュート解除時には以前の音量が復元されます。 |
MuteSfx(bool) | SFX のミュート状態を設定します。ミュート解除時には以前の音量が復元されます。 |
MuteAll(bool) | BGM と SFX をまとめてミュート/ミュート解除します。 |
PlaySfx(clip) | SFX を 2D で再生します。 |
PlaySfxAt(clip, worldPosition, volumeScale) | 指定したワールド座標で 3D 空間音響として SFX を再生します。volumeScale のデフォルトは 1.0 です。 |