UE4 Audio Listener周りの備忘録
Audio Listenerはゲーム内での耳にあたる部分です。
ゲーム内のどの位置に耳があり、どの方向を向いているのかなどを設定します。
FPSなどではあまり恩恵を感じませんが、
Top DownやThird Personなどでは音周りが大きく変わってきます。
UE4ではCameraの位置がデフォルトになっています。
今回はこのAudio Listener周りの処理について書いていきます。
使用しているバージョンはUE4 4.18.3です。
ブループリントエディタでAudio Listenerと検索すると、
このようなノードが出てきます。
1つずつ見ていきましょう。
Set Audio Listener Override
Audio Listenerの位置を変更するためのノードです。
詳しい使い方はこちら
ComponentにAttachする、
もしくはLocationとRotationを数値で指定することで
Audio Listenerの位置を更新することができます。
Player ControllerがTargetになるので、
Player Controllerのブループリント以外に書く場合は、
Get Player Controllerノードなどを接続してください。
Clear Audio Listener Override
Set Override Listener Overrideで変更された
Audio Listenerを初期化します。
Audio ListenerがAttachされている場合は、
nullptrで上書きされます。
このノードを使用してもAudio Listenerがなくなるわけではなく、
現在Playerが見ている座標、向きに再設定されます(デフォルト設定になる)
Set Override Listener Overrideと同じく、
Player ControllerがTargetです。
Are Any Listener Within Range
指定した範囲内にAudio Listenerが存在するかを判定するノードです。
円形の範囲を走査します。
引数のLocationには走査範囲の中心
Maximum RangeにはLocationからの半径を指定できます。
走査した範囲内にAudio Listenerがあれば、
Return ValueにTrue、
なければFalseが返ってきます。
Target はWorld Staticsです。
Set Global Listener Focus Parameters
Global Listenerの焦点パラメータの設定用ノードです。
(使ったことない)
Focus Azimuth Scale
音の焦点が合っている方位学を定義するスケーリング値です。
Non Focus Azimuth Scale
音の焦点が合っていない方位学を定義するスケーリング値です。
Focus Distance Scale
焦点が合っている音に対して使用する距離尺度です。
1より小さい場合は音までの距離が減少、
1より大きい場合は音までの距離が増加します。
Non Focus Distance Scale
焦点が合っていない音に対して使用する距離尺度です。
1より小さい場合は音までの距離が減少、
1より大きい場合は音までの距離が増加します。
Focus Volume Scale
焦点の合っている音の音量減衰値です。
Non Focus Volume Scale
焦点の合っていない音の音量減衰値です。
Focus Priority Scale
焦点の合っている音の優先度です。
1より大きい値は優先度が高くなり、
1より小さい値は優先度が低くなります。
Non Focus Priority Scale
焦点のあっていない音の優先度です。
1より大きい値は優先度が高くなり、
1より小さい値は優先度が低くなります。
TargetはWorld Staticsです。
余談
C++限定になりますが(ブループリントにはない)
現在のAudio Listenerの座標と向きを取得する
Get Audio Listener Positionという関数があります。