制作中のファーストパーソンシューティングゲームで、プレイヤーの近くでフラッシュバングレネードが爆発して、一時的に耳が聞こえなくなる場面があるとします。このような種類のエフェクトを表現するには、全てのサウンドを一時的に変化させる必要があります。
「一時的な難聴」エフェクトを実現するのに最適なのが、Stateの利用です。例えば、"GrenadeFX"というState Groupを作成して、"Stunned"と"Normal"の2つのStateを設定します。"Stunned"StateでPitch、Volume、Low-pass Filter、High-pass Filterの設定値を調整して、「一時的な難聴」エフェクトを作成します。このState Groupをコントロールバス(単数または複数)に対して使えば、SFX、アンビエンス、ミュージックなどを変化させることができます。
さらにリアルにするために、State Group"GrenadeFX"を使うコントロールバスにRTPCも適用して、接近感のエフェクトの強弱を調節します。ステートのプロパティ(ボリューム、ピッチ、HPF、LPF)とRTPCを合わせることで、グレネードとメインキャラクター(マイク)との間隔に応じて、値を増減できます。このエフェクトを実現するには、以下を行います:
Game Syncsタブで、新しいGame Parameterを、例えば"Grenade Proximity"などと題して作成して、ゲームの内容に合った距離のMin/Max値を設定する。
State Group"GrenadeFX"を使うコントロールバスの$1タブを開き、Game Parameter"Grenade Proximity"に1つ以上のプロパティをアサインする。
グレネード衝撃がキャラクターに近いほど、このエフェクトが激しくなるように、値のマッピングを行う。
StateやRTPC値の微調整は、Soundcasterでインゲームシミュレーションを再現しながら行います。例えば、ミュージック、アンビエントサウンド、ボイス、そしてSFXを再生しながら、StateやState Groupを"Normal"から"Stunned"に切り替えてみます。なお、Stateが切り替わる際のTransition Timeを調整することも忘れないでください。
リアリティを高めるもう1つの方法として、キャラクターのStateがStunnedの時のリバーブテイルエフェクトを、こもらせることもできます。リバーブのプロパティのLPF Cutoff FrequencyにRTPCを使い、Stateの切り替わりに同期させると、リバーブを各種オブジェクトに設定したLPF量に合わせて変化させることができます。