このチュートリアルでは、レベル内のファイア トラップにサウンド エフェクトを追加します。 ここでは、サウンド キューアセットを作成して、再生するオーディオ ファイルを選択してください。これはプロジェクト ファイルで提供されています。
次に、サウンドの減衰アセットを作成して、プレイヤーによるサウンドの聞こえ方を変更してください。 このアセットには、減衰内径やフォールオフ距離、サウンドを 3D 空間で空間化するかどうかなどの設定が含まれています。
最後に、炎エフェクトのブループリントをアップデートし、Audio コンポーネントを追加して、炎がアクティブであるかどうかに応じてサウンド エフェクトを開始または停止させます。
開始する前に
新規ユーザー向けの Unreal Engine向けドキュメントで取り上げられている次のトピックを理解していることを確認してください。
ノードの追加や接続など、ブループリントの基本
プロジェクトを設定してコンテンツをインポートするで次のアセットを使用します。
S_Fire サウンド ウェーブ ファイル
BP_TrapFire ブループリント
サウンド キューを作成する
まず、ノードベースのオーディオ アセットであるサウンド キューを作成します。
サウンド キューとは、1 つ以上のオーディオ ファイルへの参照や、グラフを通じて流れるオーディオを操作する方法に関する指示を含むことができるオーディオ アセットです。 これは、ブループリントを使用してゲームプレイ オブジェクトに機能とロジックを追加する方法と似ています。 サウンドキュー エディタには、サウンド エフェクトの制御に使用できるサウンド ノードタイプのリストがあります。
サウンド キュー アセットを作成するには、次の手順を実行してください。
コンテンツブラウザ で [Content (コンテンツ)] > [AdventureGame] > [Artist (アーティスト)] > [Audio (オーディオ)] フォルダに移動します。
[Audio (オーディオ)] フォルダで「Fire」という新しいフォルダを作成します。
[Fire] フォルダでアセット領域を右クリックし、[Audio] から [Sound Cue] を選択します。
このアセットに
SC_FireTrapという名前を付けて開きます。
サウンド キュー エディタでアセットが開きます。このエディタはブループリント エディタに似ていると感じるかもしれません。
サウンド キュー エディタには、サウンド エフェクトをカスタマイズするために使用できる多くのノードや設定が用意されています。 このチュートリアルでは再生するオーディオ ファイルを追加し、ループさせます。
サウンドキューにオーディオファイルを追加するには、次の手順を実行します。
右クリックして Wave Player ノードを追加します。
Wave Player の出力ピンを Output ノードに接続します。 Output ノードはサウンド キューの一番最後のノードです。
Wave Player ノードを選択します。 ウィンドウの左側のパネルで、Sound Wave を、 「プロジェクトを設定してコンテンツをインポートする」でインポートした
S_Fire Sound Waveファイルに変更します。[Looping (ループ)] をオンにし、オーディオを繰り返し再生できるようにします。
サウンド キューを保存します。
これで、各ファイア トラップに対して再生するオーディオ ファイルを含むサウンド キューを作成できました。 サウンド キュー エディタを閉じてください。
サウンド減衰でサウンドを制御する
次に、サウンド減衰アセットを作成する必要があります。このアセットを使用すると、オーディオ設定 (フォールオフ距離、オーディオ ゾーンの半径など) を変更することができます。
サウンド減衰設定が次のように設定されている必要があります。
火の音はトラップの境界内でのみフルボリュームになります。
プレイヤーがトラップから離れるにつれて火の音量が小さくなります。
プレイヤーがトラップから数メートル離れると、火の音は聞こえなくなります。
これにより、プレイヤーはトラップと同じ部屋に入るまで火の音を聞くことができず、全てのトラップから同時に音声が聞こえることはありません。
サウンド減衰アセットを作成するには、次の手順を実行します。
コンテンツ ブラウザに移動します。 [Audio(オーディオ)] フォルダで右クリックし、[Audio (オーディオ)] から [Sound Attenuation (サウンドの減衰)] を選択します。
これに「
SA_FireTrap」という名前を付けて開きます。 サウンド減衰アセットはデータ アセットであり、いくつかの設定を含む [Details (詳細)] パネルが表示されます。[Attenuation (Volume) (減衰 (ボリューム))] カテゴリに移動し、サウンドの減衰アセットの以下の設定を変更します。
内径: 100
フォールオフ距離: 600
SA_FireTrapを保存してウィンドウを閉じます。
これで、サウンドエフェクトの減衰設定がアセットとして保存されました。
Fire Trap ブループリントを変更する
BP_TrapFire ブループリントでは、Sound Cue アセットと Sound Attenuation アセットをまとめてオーディオの開始と停止のタイミングを定義します。
ブループリントを修正するには、次の手順を実行してください。
コンテンツ ブラウザで、[AdventureGame] > [Designer (デザイナー)] > [Blueprints (ブループリント)] > [Traps (トラップ)] フォルダに移動します。
BP_TrapFireブループリントを開きます[Components (コンポーネント)] パネルで [Add (追加)] をクリックし、オーディオ コンポーネントを追加します。
オーディオ コンポーネントを選択します。 [Details (詳細)] パネルで、[Sound (サウンド)] セクションに移動し、[Sound (サウンド)] を作成した
SC_FireTrapアセットに設定します。必要に応じて、[Volume Multiplier (ボリューム定数)] フィールドを変更してこのサウンド エフェクトの音量を変更することができます。
[Attenuation (減衰)] セクションで、[Attenuation Settings (減衰設定)] を
SA_FireTrapに設定します。[Allow Spatialization (空間化を許可)] が有効であることを確認してください。有効になっていると、プレイヤーが近づいた場合にオーディオをより高い音量で再生できます。
次に、このブループリントのグラフを変更して、オーディオを開始および停止するロジックを追加します。 ファイアトラップは有効/無効を切り替えられ、ロジックはすでに存在しているため、関連するノードを追加することで拡張します。
トラップが無効になったときにオーディオを停止する機能を追加するには、次の手順に従います。
BP_TrapFire ブループリント エディタで、[Event Graph (イベント グラフ)] タブに移動します。
赤色の Event fnBPISwitchOn ノードを見つけ、そのシーケンスの最後のノードに移動します。 CTRL + F を使ってノードを検索できます。
Audio (オーディオ) コンポーネントをグラフ内の Set Material ノードの後にドラッグします。 これにより Audio ノードが作成されます。
Audio ノードのピンをドラッグし、Stop ノード (Audio (オーディオ) カテゴリの下) を追加します。
Audio ノードから exec input ピンをドラッグし、Set Material ノードの exec ピンに接続します。 これにより、Audio コンポーネントが再生しているサウンドの再生が停止されます。
このノード シーケンスの下には、Event fnBPIButtonOff ノードで始まる別のシーケンスがあります。
トラップがアクティブな場合にオーディオを再生するには、次の手順に従ってください。
赤色の Event fnBPISwitchOff ノードを見つけ、そのシーケンスの最後のノードに移動します。
Set Material ノードの exec ピンをドラッグし、ノード アクション リストでplay audio を検索して、Play (Audio) ノードを追加します。 Audio コンポーネントはターゲットとして自動的に追加されます。
ブループリントをコンパイルして保存します。
これで、アクティベーション時にサウンド エフェクトを再生するよう、ファイアトラップのブループリントが変更されました。 最終的なブループリント グラフは次のようになります。
BP_TrapFire ブループリント エディタを閉じることができるようになりました。
レベル ビューポートで、レベルにあるファイアトラップを選択すると、アクタの周りに 2 つの球状のワイヤーフレームが表示されます。内側の球体はサウンドの内径を、外側の球体はサウンドのフォールオフ距離を表示します。
これで、ゲームをプレイ中にファイア トラップが有効になったときにサウンド エフェクトを聞くことができるようになりました。
次の内容
次はオーディオを使った作業を続け、Unreal Engine の Metasounds システムを使用してレベルの BGM をプロシージャルに生成する方法を学習します。