SoundEffect と SoundEffectInstance の違い | vicのブログ

vicのブログ

ツール系やソフト開発について書こうと思っています。
書き込み大歓迎です。
間違いとかもっといい方法とかあったらご指摘いただけるとありがたいです。
質問をいただいたら、記事をもっとわかりやすく変更します。

SoundEffect.play();

SoundEffectInstance.play();

の違いについて


  •        

    SoundEffect      

    SoundEffectInstance
    同じ変数でplay()を繰り返すと
    音が重なる
    重ならない
    play(引数)
    なし、もしくは、
    音量、ピッチ、パン を指定可能
    なし
    引数なし、のみ
    音のループ
    出来ない
    .IsLooped = true
    で指定できる


  • ピッチ: 音の周波数 簡単に言うと、音の高さが変わる
    パン: 音の位置 簡単に言うと、スピーカーの音量バランス

    SoundEffectInstance は play() で引数がないが、別途メンバ変数で指定すれば、音量、ピッチ、パン は設定可能


    用途として
    SoundEffect = ショット音や爆風など、音が重なる事が多いもの
    SoundEffectInstance = BGM 、その他。音が重ならないので、逆に考えて音が重なって欲しくないもの

    例えば、
    SoundEffect で面白い使い方としては、
    シューティングの爆風など、微妙に違う音の周波数にして鳴らせれば、
    バリエーションとして面白くなりそう。