はじめに
※個人的な備忘録となっておりますので、正確な情報が知りたい方は
Unreal Engine公式のドキュメントを覗いてみてください。
Unreal Engine 4 ドキュメント | Unreal Engine ドキュメント
作業環境
バージョン UE4 4.23
OS Windows10
音量の強弱が無く、ゲーム中常に流れる2Dサウンドとして使用する場合
【UE4】Play Sound 2D(字幕付き)
配置した場所でサウンドが流れる
まず下準備として、サウンド自体の設定をしておきます
[Sound Wave]の[Looping]にチェックを入れておきます。
ここにチェックが入っていないと、配置したサウンドが一度しか流れません。
スピーカーのアイコンをクリックして詳細パネルを開きます
音がプレイヤーに聞こえる範囲を設定します。
詳細パネル[Attenuation]にある[Override Attenuation]にチェックを入れます
ここにチェックを入れると、詳細パネルの[Attenuation Distance]が設定できるようになります。
[Attenuation Distance]の設定は以下の項目を変更します
[Attenuation Shape]・・・範囲の形状を変更
[Inner Radius]・・・・・・音が100%で聞こえる範囲
[Falloff Distance]・・・・・Inner Radiusから音が0%になるまでの範囲
音の大きさは[Sound]の[Volume Multiplier]で変更できます
試しにプレイしてみます。場所が分かるように何か置いておきます。
www.youtube.com
範囲が小さい場合は、プレイヤーが近づいても音が流れません。
流れた場合でも、少し音の位置が違うように感じます。
音が出ない原因は、プレイヤーのカメラ位置にあります。
このプレイヤーのカメラは、ThirdPersonなのでプレイヤーから離れた位置にありますね。
デフォルトの状態だと、このカメラがリスナーの位置(耳の役割)になっており
カメラが先程指定した範囲に入らないと音が聞こえないようになっています。
今回はカメラではなく、キャラクターに付いている[Capsule Collision]がリスナーになるよう設定しましょう。
アクターに音をつける
サウンドは奥が深いですね~