Wwise備忘録_複数のMusicに対してひとつのState Groupを使う時の、"Change occurs at"の設定注意点
サウンドミドルウェア "Wwise" で、
State制御によるインタラクティブサウンドをやろうとした時に
失敗したことがあったので忘れないようにメモ。
<結論>
複数のMusicに対してひとつのState Groupを利用していて、
かつ各Musicの"Change occurs at"の設定にバラつきがある場合は
より早いタイミングのものが適用される。
<例>
・目指す挙動
ゲーム側で条件を満たすとSet_Stateを行い、
次の小節のアタマから別パートを追加する。
・失敗する実装
ベース楽曲に対する追加パートの
Music Track 00 に対しては Change occurs at を "Exit Cue"に、
Music Track 01 に対しては Change occurs at を "Immidiate"に設定する。
Music Track 00(ドラム)
Music Track 01 (ベル)
・失敗する実装で起きる挙動
Music Track 00 と Music Track 01 を同時再生して
該当するステート切り替えを行うと、
Music Track 01 の "Immidiate" が適用され
Music Track 00 も "Immidiate" のタイミングで音が鳴りだす。
・対処方法
Music Track 01 の Change occurs at を "Exit Cue"に設定する。
ーーー
以上です。
インタラクティブサウンド仕様をくみ上げていったとき、
ゲーム側のひとつの条件で、
複数トラックの制御を行いたくなる可能性があります。
そういったときに、
ひとつのState Groupでやりくりしようとして、
今回のような意図せぬタイミングの
ステート切り替えが発生してしまう可能性があります。
自分の場合はただの設定ミスでしたが
上記したようなケースもあると思うので
ステートを使う時は忘れないようにしていきたい!