CriWare Unreal Engine
Plug-ins for CriWare solutions.
読み取り中…
検索中…
一致する文字列を見つけられません
ADX チュートリアル No.26:部屋の外と中で異なるエフェクトをかける

部屋のレベル上の場所ごとにエフェクトを変えることができます。 今回は例として、部屋の中ではリバーブエフェクトを適用し、部屋の外ではリバーブエフェクトを適用しない設定をしてみましょう。

レベルを用意する

criware_unrealengine_plugin内のパッケージに含まれる以下ディレクトリに、ACBファイルとACFファイルがあります。
それぞれプロジェクトにインポートしてください。

  • cri\common\cri_smpdata\AtomGamePlayVolumeDemo.zip

ダウンロードしたuassetを「Content」フォルダに配置してください。
UnrealEngineを起動すると、コンテンツブラウザで「Content」フォルダ内に「SampleMap」というアセットが追加されます。

  • cri\common\cri_smpdata\SampleMap.umap


このマップを起動すると大きな部屋があるレベルを開けます。

「Atom Rack」アセットを作成する

そして、「Project Settings」の「CriWare」->「Core」に先ほどインポートした「AtomConfig」と「Atom Rack」を画像のように設定します。

AtomComponentを配置する

この部屋の中に「Atom Component」を配置します。

次に「Atom Component」の「Ateenuation」->「Allow Spatialization」をチェックします。 (この設定によって「Atom Component」が音源とリスナ位置を特定することができるようになります)

次に「Atom Sound Class」アセットを作り、「Atom Component」に設定します。

「Apply Ambient Volumes」にチェックを入れてください。

「Sound Class Override」に設定した「AtomSoundClass」アセットの詳細を開いてください。
「Routing」の項目に「Apply Ambient Volumes」があるのでチェックを入れてください。

注意 「Apply Ambient Volumes」にチェックがない場合、「AtomGamePlayVolume」でのエフェクトが適用されません。

Atom Game Volumeを配置する

次に「Atom Game Volume」アクタをレベルに配置します。

このアクタの「Transform」に以下の画像の値を設定します。 この設定により部屋を覆う空間を設定できます。

次に「Bus Send」コンポーネントを追加します。

「Atom Bus Send Volume」コンポーネントの「Details」から「Submixes」の「Bus Send Settings」にあるプラスボタンを押します。

「Index [0]」の三角ボタンを押し、「Bus Sends」のプラスボタンを押します。

「Bus Sends」->「Index [0]」->「Bus」に「Project Settings」に設定した「Atom Rack」アセットを指定します。 すると、下に「Bus」の項目が増え、この「Bus」に「Reverb」Busを設定します。
次に「Listener Location State」を「Outside the Volume」に設定します。 さらに、「Bus Send Settings」->「Index [0]」->「Bus Sends」->「Index [0]」の「Send Level」を1に設定します。


「Listener Location State」とはリスナが「AtomGamePlayVolume」の内外どちらにいるときに適用するかを設定する項目です。 「Outside the Volume」を選択するとリスナが「AtomGamePlayVolume」の外側にいる場合に「Bus Sends」の項目が適用されます。 「Inside the Volume」を選択するとリスナが「AtomGamePlayVolume」の内側にいる場合に「Bus Sends」の項目が適用されます。

リスナの設定方法はListener Focus Pointの設定方法をご覧ください。

「Send Level」を変更することでBusエフェクトをかける度合いを変更することが可能です。

音を聴いてみる

ゲームを開始して、音を聴いてみましょう。 部屋に入ったり出たりしてエフェクトが変化することを確認してください。 部屋の中ではリバーブが適用され、外側ではリバーブが適用されません。

今回は「AtomGamePlayVolume」に「Bus Send」のScene Componentを追加しましたが、そのほかにも「Attenuation」/「Filter」/「AISAC」があります。
「Attenuation」/「Filter」について「サブレベル間で異なるエフェクトをかける(AtomGameplayWorldSettings)」にて解説がありますのでぜひご覧ください。