2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ADX2 for UE4で、ゲームの状況に応じて効果音のバリエーションを変える

Last updated at Posted at 2020-10-31

はじめに

アンリアルエンジン4とサウンドミドルウェア「ADX2 for UE4」を連携させ、
ゲーム側での設定に応じて再生する効果音を一括で切り替える実装についてです。

ADX2の「ゲーム変数」機能はアプリケーション内でサウンドのステータスを一括変更(グローバス変数にて変更)できます。
たとえば音ゲーの打鍵音やUIのサウンドがいくつか用意されており、ユーザーの好みによって変更できるケースなどに役立ちます。
異なる効果音の再生にあたってはブループリントの処理を新しくする必要はなく、ただひとつの変数を変えるだけで済みます。

当記事ではUE4.23+「ADX2 LE v2.10.05」を使用します。

前提

「ADX2 for UE4 LE」を使用します。導入や簡単な使い方は以下の記事にあります。
ADX2 for UE4の導入で、一歩上のサウンド表現を(導入編)
https://qiita.com/SigRem/items/4250925f6d66a4fd287a
ADX2 for UE4の導入で、一歩上のサウンド表現を(実践編)
https://qiita.com/SigRem/items/c089b71c42e898980a46

実装

##AtomCraftでの実装

マテリアルをインポート

使用する音源をインポートします。
A_01.png
今回は4種類のサウンドを用意し、ユーザーの設定次第で好きなものを使用できるようにします。

ゲーム変数の作成

「ゲーム変数」を作成します。
ゲーム変数は0~1の間で変動させるfloat型変数で、ゲーム側でこの値を変えることで効果音に変化をもたらします。
「プロジェクトツリー」の「ゲーム変数」を右クリックし、「新規オブジェクト」→「ゲーム変数の作成」を選択します。
A_02.png
新しくゲーム変数が作られます。
A_03.png
F2キーを押して、使用用途に合わせてリネームします。
A_04.png

キューの作成

新規にキューを作成します。「新規オブジェクト」→「キュー『スイッチ』の作成」を選びます。
A_05.png
作られたキューに名前をつけておきます。
A_06.png
用意した音源をトラック別に放り込みます。
A_07.png

ゲーム変数の適用

スイッチタイプのキューではトラックごとにしきい値が設定でき、この値以上になると該当のトラックの音が再生されるようになります。
既に再生されている音は上書きされません。
「インスペクター」の「スイッチ」をクリックすることでスイッチ変数を設定するメニューが現れます。
まずは今回作成したゲーム変数「UI_Type」を選択します。
A_08.png
トラックごとにしきい値を設定できるようになります。変数の幅は0~1なので、スイッチ幅の総計が1.0を越えてしまう場合エラーになります。
A_09.png
スイッチ幅を「0.25」ずつにすると、正常に再生できるようになります。
A_10.png

###テスト再生
ゲーム変数などを使用した特殊なキューのテスト再生には「セッションウィンドウ」を使います。
ツールバーから「表示」→「セッションウィンドウ」を選びます。
A_11.png
セッションウィンドウが現れます。
A_12.png
キューをセッションウィンドウにドラッグアンドドロップして登録します。
A_13.png
セッションウィンドウの上部、「ゲーム変数」をクリックすることで変数の変動による再生の変化を確認することができます。
A_14.png
「UI_Type」にチェックを入れてスライダーを動かし、再生ボタンを押すことで異なるサウンドが再生されるはずです。
A_15.png

キューシートのビルド

確認ができたらキューシートをビルドします。
A_16.png
A_17.png

UE4での実装

キューシートのインポート

ビルドしたキューシートをUE側でインポートします。
B_01.png
acfファイルの設定も忘れずに。こちらの設定方法は冒頭にリンクがある導入編をご覧ください。
B_02.png

ブループリントで音を再生する

今回は試しに、直接レベルブループリントに処理を書いてしまいます。
レベルブループリントのエディタを開きます。「Blueprints」→「Open Level Blueprint」です。
B_03.png
Input Key Tで「T」キーを押したら始まるイベントをつくり、Spawn Sound 2Dで距離減衰のないサウンドを再生します。
対象は先ほど作成したキューにします。
B_04.png
**「Spawn Sound Attached」ノードは2種類あることに注意してください。**カテゴリが「Atom」になっているものを使います。
B_05.png
これでひとまず音は鳴りましたね。

ゲーム変数を変化させる

ゲーム変数の操作もブループリントから行います。
Set Game Variable by Nameがそれにあたります。ひとつのノードで済むので楽ですね。
B_06.png
今回は4つのサウンドバリエーションを用意したので、4つのキーを押すとゲーム変数を変化させるようにしました。
数値はAtomCraftで設定したしきい値を超えるように入力してください。
B_07.png

これでゲーム変数によって変わる音が実装できました。コンフィグなどで値を変化させれば、ゲーム中どこでも変化した音を参照できます。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?