CRI ADX2(Unreal Engine4)
中級編15 Blueprintによる基本的な音声制御6連発
音を鳴らす前に
説明上の混乱を避けるため、前回のチュートリアル「中級編14 移動する物体から音を鳴らす」でレベルに配置したアクタを取り除いてください。
音声の再生
復習も兼ねて、『キーボードの「1」を押したときに「simple_bgm」キューを再生する』という実装を行ってください。
また、「simple_bgm」の「Auto Activate」のチェックは外してください。
やり方を忘れてしまった場合は「初級編06 プレイヤーがボタンを押したら音を鳴らす」をご覧ください。
音声の一時停止・再開・停止
一時停止・再開
一時停止や再開をするには「Atom Sound」カテゴリにある「Pause」というノードを使用します。
一時停止するには下図のようにノードをつなぎます。
「Pause」のチェックボックスにチェックを入れてください。
「Pause」ノードをもう一つ作成してください。
再開(一時停止を解除)するには下図のようにノードをつなぎます。
「Pause」のチェックボックスにチェックを入れないように気を付けてください。
停止
音を停止するには「Atom Sound」カテゴリにある「Stop」というノードを使用します。
下図のようにノードをつないでください。
ボタンで音声を操作する
レベルブループリントをコンパイルし、ゲームを実行してください。
キーボードの「1」を押すとBGMの再生が開始されます。
キーボードの「2」を押すとBGMが一時停止します。
キーボードの「3」を押すとBGMの一時停止が解除されます。
キーボードの「4」を押すとBGMが停止します。
音量・ピッチの変更
音量を変更する
レベルブループリントを開いてください。
「Atom Sound」カテゴリにある「Set Volume」というノードを配置してください。
アウトライナのsimple_bgmをドラッグしてレベルブループリントにドロップします。
simple_bgmをターゲットにつなぎます。
すると下図のように「ターゲット Atom Component」というノードが自動で生成されます。
音量を変更するにはVolumeの値を設定します。
音量は0.0から1.0の範囲で設定します。
今回は音量を0.5に設定してみましょう。
音を聴いてみる
レベルブループリントをコンパイルし、ゲームを開始してください。
BGMを再生し、音量が小さくなっていることを確認してください。
もし音量の変化が分かりづらければ、音量を0.1など極端な値に設定してみましょう。
ピッチを変更する
レベルブループリントを開いてください。
音量は元に戻した方が都合が良いので、先ほどの「Set Volume」ノードを削除してください。
「Atom Sound」カテゴリにある「Set Pitch Multiplier」というノードを配置してください。
「音量を変更する」のときと同様にsimple_bgmをターゲットにつなげます。
「New Pitch Multiplier」にはピッチの倍率を設定します。
「New Pitch Multiplier」に2.0を指定した場合、倍のピッチ(1オクターブ高い音)で再生されます。
「New Pitch Multiplier」に0.5を指定した場合、半分のピッチ(1オクターブ低い音)で再生されます。
今回はピッチを0.5倍に設定してみましょう。
音を聴いてみる
レベルブループリントをコンパイルし、ゲームを開始してください。
BGMを再生し、音が半分のピッチで再生されることを確認してください。
ピッチを高くしてみる
先ほどの「Set Pitch Multiplier」ノードの「New Pitch Multiplier」を2.0に設定してみましょう。
これで理論上は音が倍のピッチで再生されるはずですが、実際にBGMを再生してみるとピッチが変化していないことが分かります。
さらに、アウトプットログを見ると大量の警告が表示されています。
初期設定のままではピッチを高くすることができない場合があります。(波形データの種類に依存します)
この警告が出てしまう場合は下記のように設定を変更してください。
- メニューから "編集" > "プロジェクト設定" を開きます。
- CriWareのページを開きます。
-
下記2項目の設定値をより大きな値に変更してください。
- 「Sampling Rate of Standard Memory Voice」
- 「Sampling Rate of Standard Streaming Voice」
目安は96000~144000です。(ピッチの高さに依存します)
設定を変更した後はUE4エディタを再起動してください。
これでピッチを高くすることができるようになりました。