CRI ADX(Unreal Engine) v1
中級編17 ゲーム内の状況に応じて変化するサウンド
ゲーム内の状況に応じて変化するサウンドのことをインタラクティブミュージックと言います。
インタラクティブミュージックを実現する方法の一つとして、ADXには「AISAC」というものが用意されています。
AISACを使うと、例えば「スポーツゲームの試合で有利になればなるほどギャラリーからの歓声が豪華になる」といった演出が実現できます。
AISACの詳細については「ADX用語集」や、 「CRI ADX Tools マニュアル」をご覧ください。
実際に体験してみる
再生ボタンをクリックすると歓声のSEが再生され、スライダーを左右へ動かす事でリアルタイムに歓声の盛り上がり具合が変化する演出を体験することができます。
新しい音素材を導入する
今回のテーマを学習するには追加の音素材が必要です。
ダウンロードした「DemoProj.acb」をUE5プロジェクトにインポートしてください。
音を鳴らす前に
説明上の混乱を避けるため、前回のチュートリアル「中級編16 カテゴリに分類されたサウンドの再生を制御する」でレベルに配置した音とレベルブループリントに配置したノードを取り除いてください。
実装してみる
「DemoProj_Kansei_Cue」をレベル上に配置します。
レベルブループリントを開きます。
「Atom Sound」カテゴリにある「Set Aisac by Name」ノードを配置します。
また、下図のようにノードをつなぎます。
「Control Name」にはAISACコントロールの名前を指定します。
どんな名前を指定すれば良いのかわからない場合はADXのデータ作成者に尋ねてください。
今回は「AisacControl03」と指定します。
「Control Value」には0.0から1.0の範囲で数値を指定します。この値に応じて音声がインタラクティブに変化します。
具体的にどのように変化するかについては、ADXのデータ作成者に確認してください。
今回お渡しした「DemoProj_Kansei_Cue」キューの場合は、値が大きくなるほど歓声が豪華になります。
音を聴いてみる
レベルブループリントをコンパイルし、ゲームを開始してください。
拍手の音が小さく鳴っています。
この時点では「Control Value」の値は0.0です。(「DemoProj_Kansei_Cue」キューの設定がそのようになっているため)
キーボードの「1」を押すと「Control Value」の値が0.8に設定され、歓声が豪華になります。
実際の運用について
実際の運用では、例えば「興奮度」のような概念を導入し、「興奮度」に応じて「Control Value」の値を上げ下げするような活用方法が考えられます。
実際にやってみましょう。
「HowExciting」というFloat型の変数を用意します。
キーボードの「1」を押したときに「HowExciting」を0.2増加させます。
キーボードの「2」を押したときに「HowExciting」を0.2減少させます。
つまり下図のようにノードをつなぎます。
音を聴いてみる
レベルブループリントをコンパイルし、ゲームを開始してください。
キーボードの「1」を押すと歓声が盛り上がり、キーボードの「2」を押すと歓声が盛り下がります。
Tips
AISACコントロールとは?
- AISACコントロールとは、AISAC をプログラムからコントロールする時の識別名になります。
- 詳細は「CRI ADX Tools マニュアル」の下記ページをご覧ください。
- CRI ADX Tools マニュアル AISACコントロール