LoginSignup
0
0

More than 1 year has passed since last update.

UE4+ADXで、ボイスや効果音の再生中に背景音量を下げる(ダッキング処理)

Last updated at Posted at 2022-04-02

はじめに

アンリアルエンジン4とサウンドミドルウェア「ADX for UE4」を使いて、ゲーム中などにキャラクターのボイスなどを再生する際、BGMやBGSの音量を下げることでプレイヤーを台詞に集中させることができます。
また、重要な効果音や台詞の発声時にBGMを一時的にミュートすることで、「必殺技時の暗転」や「謎を解いた際のファンファーレ」などが効果的に演出できるようになるでしょう。

このように「あるサウンドを再生すると同時に他のサウンドの音量を下げる」処理はダッキングと呼ばれています。
ボクシングで上半身を低くする回避テクニック「ダッキング」と同じ語源だそうです。

前提

当記事ではUE4.26.1を使用します。基本的にブループリントのみでの実装を想定しています。
ADXはインディー向けの「LE版」であれば、無料で使用できます。
https://game.criware.jp/products/adx-le/

なお、最近ADX2からADXへ名称が変更になりましたが、ツール構成は変更ありません(2がないから古いほう、というわけではありません)。

記事執筆時点のADX for UE4のSDKバージョンはv1_29です。

ADX2 for UE4の導入や基本的な使い方は以下の記事にあります。必要に応じて参照してください。
ADX2 for UE4の導入で、一歩上のサウンド表現を(導入編)
https://qiita.com/SigRem/items/4250925f6d66a4fd287a
ADX2 for UE4の導入で、一歩上のサウンド表現を(実践編)
https://qiita.com/SigRem/items/c089b71c42e898980a46

実装

AtomCraftでREACTを設定する

AtomCraftでダッキングを設定するための機能がREACTです。
これは音量以外にも、AISACコントロールの値を変化させる用途でも使用できます。

今回はテスト用に3つのマテリアル(音源)を用意しました。
A01.png
それぞれキャラクターのボイス、BGM、効果音となっています。

カテゴリ、REACTの作成

まずはボイス、BGM、効果音を分類するために「カテゴリ」を作る必要があります。
プロジェクトツリーの「カテゴリ」を右クリックし、「新規オブジェクト」→」「カテゴリグループの作成」を選択します。
A02.png
ゲームのメイン部分で使用するカテゴリグループを想定して「Main」と名付けました。
さらにカテゴリグループ「Main」を右クリックし、「新規オブジェクト」→「カテゴリの作成」で詳細なカテゴリを作っていきます。
A03.png
カテゴリグループ「Main」に3つのカテゴリを作り、それぞれ「BGM」「SE」「Voice」と名付けました。
A04.png
ダッキング処理のためのREACTを作成します。
プロジェクトツリーの「REACT」を右クリックし、「新規オブジェクト」→「REACTの作成」を選択します。
A05.png
分かりやすい名前をつけ、ダブルクリックするとREACTの設定画面が開きました。
A06.png
タイムラインの編集に戻りたいときは、画面下の「タイムライン」タブをクリックします。
A06B.png

ダッキングの設定

ダッキングの設定をしていきます。
まずはこのREACTの用途をメモしておきましょう。
A07.png
ダッキング処理には、実際に変化させるカテゴリを指す「変化カテゴリ」と、そのトリガー(きっかけ)となる「トリガーカテゴリ」が必要です。
今回想定するシチュエーションではボイス再生中にBGMを小さくしたいので、変化カテゴリが「BGM」、トリガーカテゴリが「Voice」と設定します。
A08.png
REACTタイプは「ダッカー」のままで大丈夫です。

音量の遷移を設定していきます。
まずはボイス再生中のBGM音量を「変化レベル値」として「0.40」に設定します。
グラフが変化するので、視覚的に調整しやすいかと思います。
A09.png
「変化時間」「戻り時間」はダッキング状態に遷移する際、通常状態に戻る際にかかる時間です。ミリ秒単位で指定します。
「500」では0.5秒で遷移することになります。
A10.png
「変化カーブタイプ」で遷移する際のカーブを指定できます。
A11.png

ホールドタイプが「再生中」では、ボイスが再生されている間ダッキングが維持されることになります。
ホールドタイプを「固定時間」にすると、ボイス再生時に指定の時間だけダッキング状態になります。
用途を考えると、今回は「再生中」が適当でしょう。
A12.png

キューにカテゴリを設定する

キューを作成し、カテゴリを設定することでダッキングが実現します。
マテリアルに合わせて3つのキューを作りました。
A13.png
キューを選択し、インスペクターの「カテゴリ」をクリックします。
A14.png
カテゴリの編集ウィンドウが開くので、該当するものにチェックをつけます。
A15.png
すべてのキューに対して行います。
A16.png

キューシートのビルド

ここまでできたら、キューシートをビルドしてUEに持っていきます。
A17.png
A18.png

UE4でサウンドを再生する

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

ビルドしたacf、acbファイルをコンテンツブラウザにインポートします。
B01.png
B02.png
ツールバーの「Edit」→「Project Settings」でプロジェクト設定を開きます。
B03.png
「CriWare」タブの「Atom Config」にacfファイルを指定します。
B04.png

BGM、ボイスを再生する

まずはBGMを直接配置してしまいましょう。
コンテンツブラウザからBGMとなるキューをレベルにドラッグ・アンド・ドロップします。
B05.png
効果音とボイス再生処理をレベルブループリントに書いてテストします。
レベルブループリントを開きます。
B06.png
Input KeySpawn Sound at Locationを使い、ふたつの再生用イベントを用意します。
Spawn Sound at LocationノードはAtomカテゴリのノードを使用しないと、AtomCraftでビルドしたキューが使えないので注意してください。
B07.png
実際に実行してみましょう。効果音を再生してもBGMの音量は変わりませんが、ボイスを再生するとBGMの音量が抑えられボイスが聞き取りやすくなるはずです。
B08.png
もし効果が分かりづらいなと感じたら、AtomCraftでREACTの「変化レベル値」を下げてみてください。

0
0
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
0
0