SAT04 CREATIVE SPACE

メディア芸術作品、音楽制作、ゲーム開発(UE4)、アート、エンタメなどの創作に関する話題を扱うブログです

【UE4】Sound CueのBranchで音を鳴らし分ける

Unreal Engine 4のSound Cueまわりの制御を見ていきます。Soundまわりの情報はどうしても少なくなりがちなので、適当に基本的なところも含めてメモ代わりに書いていこうかと思います。アーティスト向けです。

UE4オススメ本
 これからUE4を勉強しよう、自分の職種のパートはわかるけど他はわからないという人は下記の書籍を超絶オススメしています。日本語で順を追ってUE4を学びたければ、この本を置いて他にはないと個人的には思います。まずは、この本の通りに実際にレベルを作ってみる事をオススメします。

この本を読んでいる人ならわかるような、一般的な事は説明から省きます。また文中の表記ブレは多様な検索ワードで引っかかるようにあえてブラしています。(例:効果音、SE、Sound Effecs、SFXなど)

Sound Cue内のBranchに関して

Sound Cue内のBranchの用途は、簡単に言うと分岐させて音を鳴らし分ける時に使います。

例えば、ゲームでよくあるパターンとしては

  1. 銃を発射するボタンをプレイヤーが押した
  2. 【判定/分岐】プレイヤーの弾薬がまだ残ってるか?
    • (True/真)残ってる→「バン!」という発砲音が再生
    • (False/偽)残ってない→「カチッ…」というスカし音が再生

もちろんSound Cueを2つ作って、Blueprint側で分岐させてSound Cueを鳴らし分けるのと何が違うのって話はあるのですが。

Sound Cue側のBranchの接続と設定

以下は、True(真)なら「Simple_1sec_A」、False(偽)なら「Simple_1sec_B」が再生される組み方。

Branchノードの、詳細に [Bool Parameter Name] があるので、任意の名前を入力。ここでは「AudioBranch」という名前にしてます。

[パラメーターが未設定です]ってのは、ちょっと日本語的に変に感じるけど、 [Bool Parameter Name] にTrueの値も、Falseの値も入っていない状態。つまり判断されていない状態に再生するSEを設定します。(Null)というのはプログラマーじゃなくても聞いたことあるかもしれませんが、要はその状態で再生される音です。

f:id:nowshika:20160820121458j:plain

Blueprint側の設定

Set Boolean Parameterノードの設置

Sound Cue側のBranchノードで設定した「AudioBranch(Bool Parameter Name)」に、値を設定するのは[オーディオ]>[コンポーネント]>[オーディオ]にある、[Set Boolean Parameter]ノードを使用します。

TIPS

直接、Blueprintの空いてる所を右クリックして[Set Boolean Parameter]ノードを設置しようとしても表示されないかもしません。その場合「状況に合わせた表示」のチェックボックスを外します。

もしくは下記のスクリーンショットだと[Audio Component]の[Retuen Value]から線を引っ張ってくると表示されます。これは、[Set Boolean Parameter]のターゲットとして「Audio Componentリファレンス」を使用するからです。逆に言うと、「Audio Componentリファレンス」を使用するノードはどれかというのを、UE4が状況に応じて絞り込んでくれている状態といえます。

Set Boolean Parameterの設定

 [In Name]に、Sound Cue側のBranchで設定した「AudioBranch(Bool Parameter Name)」を設定します。

[In Bool]が、TrueかFalseか決定づけます。下記のスクリーンショットのように、チェックボックスのON/OFFで真偽を決定づける事もできますが、普通はここにどこかしらから値を引っ張ってきて、ゲームとして動的に真偽を定義することになります。

一番下にある、キーボードの「K」を押した時にフローでは、あえて[Set Boolean Parameter]ノードの接続を切っています。その為、「AudioBranch(Bool Parameter Name)」に何も値が入らないので、[パラメーターが未設定です]に設定した効果音が再生されます。

f:id:nowshika:20160820124401j:plain

ちょっと今回は説明のために、レベルブループリントに直接コンテンツブラウザからSound Cueをドラッグ&ドロップしてるので、[Manual Attachment]やらなんやかんや付いたごついAudioコンポーネントになっています。「クラスブループリント」のコンポーネントにSound Cueを追加し、ドラッグ&ドロップして引っ張ってくるとお馴染みの形になります。
f:id:nowshika:20160820132601j:plain

キーボードの「L」キーを押しているあいだ発音。「K」キーを押すと音が入れ替わるという例です。この様に音の分岐の制御と、発音の制御を別々にできます。
f:id:nowshika:20160822020959j:plain