はじめに
アンリアルエンジン4とサウンドミドルウェア「ADX for UE4」を連携させてインポートしたサウンドのパラメータを一括で管理・変更する方法です。
AtomCraft内でもパラメータを一括で管理するための「カテゴリ」「カテゴリグループ」機能がありますが、より広範囲のパラメータをエディタ上でまとめて編集します。
パラメータを動的に一括変更したい場合「カテゴリ」「カテゴリグループ」機能を使い、アセットを静的に編集したい場合はここで紹介する「プロパティマトリクス」を使うといいでしょう。
▲AtomCraftの「カテゴリ」「カテゴリグループ」
▲UE4の「プロパティマトリクス」
前提
当記事ではUE4.26.1を使用します。ADX LEがUE5に対応した際は同じ実装法が使えると思われます。
基本的にブループリントのみでの実装を想定しています。
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
実装
キューのパラメータ編集
Atomキューアセットをダブルクリックするとウィンドウが開き、キューのパラメータを編集することができます。
たとえば、LoopSettingsのプルダウンメニューを「Loop」にすると、元の設定を上書きしてループ再生されるようになります。
しかし、仮に「BGMを一括でループ再生に設定する」などの場合はひとつひとつパラメータを編集していくのが面倒ですね……。
その場合に使うのが「プロパティマトリクス」です。
プロパティマトリクスでパラメータを編集する
プロパティマトリクスで編集したいアセットを、コンテンツブラウザ上ですべて選択します。
右クリックし、「Asset Actions」→「Bulk Edit via Property Matrix」を選択します。
プロパティマトリクスが開きます。
一括でパラメータを編集するには、編集したいアセットをプロパティマトリクス上で選択します。
右側のプロパティを編集すると……
黄色くハイライトされたプロパティが一括で書き換えられます。
プロパティは多くなりがちですので、テキストでの検索を使うと便利です。
編集したアセットは用途に応じて「Cue Color」を設定すると、コンテンツブラウザ上で視認性が上がります。
BGMやSE、AISACコントロールなどの特殊パラメータのありなしに応じて色を決めておくと良さそうです。
Atomキューアセットのプロパティ
Atomキューに設定できるプロパティについて軽く見てみましょう。
Attenuation
サウンドの減衰をSound Attenuationアセットから指定できます。
この減衰アセットはUE標準のものが使用可能なため、サウンドに関してADXと標準機能をハイブリッドに使用しているプロジェクトに有用です。
ADXのみでサウンド機能を構成している場合は、AtomCraftで音の減衰を設定したほうがいいでしょう。
Sound Attenuationアセットはコンテンツブラウザの空欄で右クリック→「Sounds」→「Sound Attenuation」を選択することで作成できます。
音の聞こえる範囲や減衰する距離を個別に設定可能です。
Audio Volume
ボリュームの中で聞いたサウンドの性質を変える「Audio Volume」の影響を受けるかどうかを設定します。
「Audio Volume」内ではサウンドにさらに反響などのエフェクトを追加できます。
Atom 3d Transceiver
Atom 3d Transceiver機能で使用するリージョンを指定します。
https://twitter.com/sleepyslowsheep/status/1438049857432813570?s=20&t=Ktvklrr82iM6qXi_lxLqnA
Atom 3d Transceiver機能を使用する場合はレベル上に置いて個別に指定したほうが使い勝手がいいため、通常プロパティマトリクスではいじらなくていいでしょう。
Atom 3d Transceiver機能の使い方はこちらの記事にあります。
ADX2+UE4で、屋内の音響をデザインする(前編)
https://qiita.com/SigRem/items/86d4a218d6be3240df3d
ADX2+UE4で、屋内の音響をデザインする(後編)
https://qiita.com/SigRem/items/bd2b62dedd111e3f5e15
Economic Tick
遠くで再生されたサウンドの処理負荷を軽減する「Economic Tick」機能を有効にします。
プロジェクト全体のEconomic Tickはプロジェクト設定の「CriWare」タブから設定できます。