距離減衰のデザイン
距離減衰のデザインで減衰させるだけなのはどうなのか?
という話。
ゲームでは距離は求めやすいので、距離に音の変化をマッピングしていく作業になります。
音は遠ざかると小さくなる
前回の点音源の話でもあったのですが、
遠くなると音が小さくなる現象をゲームの中でもよく行います。
近い音は大きく、遠い音は小さく。
距離で場合分けする
A 近くの音、大きい。
B 中くらいの距離。少し小さい。
C 遠い距離、ほとんど聞こえない。(大きな音でないと聞こえない)
聴かせたい音の場合
BC 遠いけど聞かせたい音。
目に見える範囲で、音が鳴っていると思われるものは聞こえてほしい
遠くの出来事であっても、遠くに注目していれば、
そこで起こっている音は鳴って欲しい。
画面にしめる割合とか、中央にあるものとか。
主観によって変化してしまう。
敵の足音は聞きたいけど、自分の足音は聞きたくない。
同じ処理をしてしまうと問題になります。
距離での響きの変化に注目する
A 近くの音、そのまま鳴らす。
B 中くらいの距離の音、 残響を追加する。
C 遠い音、残響を多めにする。
ただ、これも、響く空間にいるかどうかでも変わってきてしまいます。
天井の高い大きな部屋なら響くかもしれませんが、
何も反射するものがない原っぱのような空間だと、響かせると不自然になります。
あと、元から響きやすい空間とかだと、差をつけにくいです。
洞窟での音に響きを足しても飽和してしまってなんだかわからない・・難しい話です。
空間ごとに調整が必要になります。
音の大きさや密度によって調節する
大きな音が鳴っている場合、よく響きます。
小さな音の場合、あまり響かない。
響きの密度や偏りも変わります。
響きがどこで発生しているのか?
例えば、トンネルがあって、トンネルの中の音を響かせたい場合、
トンネルの外にいる人には、トンネルの開口端あたりが鳴っていそうです。
響きに包まれるのか、包まれていないのか、部屋の形とかにも関わってきます。
空間系のエフェクトって、ステレオとかのミックスのように、
ミキサーやバスに入ったところで、空間残響をつけてしまうと、2Dの残響(ステレオではつつまれているがヘッドロック)になってしまって、VRだと都合が悪い場合もあります・・・ (立体音響効果付きのディレイやリバーブが欲しいところ )
他に鳴っている音も考慮する
とても静かな場所で音を聴ける場合は、
距離の変化で音量を変えてもそれなりに良い感じになるかもですが、
音が多くなってくると、近くの音で飽和してしまったり、
BGMや、環境音、UIなど目立つ効果音などに埋もれてしまう場合があります。
音の重要度も考慮する
声は聞こえてほしい。
足音はそれほどでもない。
どこに注目しているかでも変化します。
VRだとカメラワークではなく、注目点も変化するので、リアルタイムでミックスを調整する必要がでてきます・・・ (大変・・)
音程によっても変化
音のもっている周波数とかにも依存します。
低い音も、高い音も同じカーブだと、おそらく不自然です。 響き方もそれぞれ違う・・・
低い音はエネルギーが多い (なかなか減衰しない)
高い音はエネルギーが小さい。 (減衰しやすい)
エフェクトのかかり具合も影響を受けます。
実際、リアルな音が欲しいというよりかは、聞き取りやすくわかりやすい音が求められます。
単純に物理的に正しくてもそれは残念な結果になる場合があります。
距離減衰だけど減衰させない
デジタルなエフェクトの処理で、
音量が下がってしまったものを再度持ち上げるのはなかなか難しい。
あるものを削るのはやりやすいです。ないものを作り出すのはなかなか難しい。
エフェクトにも十分な音量の波形が入っていかないと制御が難しくなります。
レベルをデジタルで扱えるスケールに収めつつ、さらに、重要度によって聞き取りやすいレベルに合わせる。
となると、単純に小さくしてしまう距離減衰だけだとちょっと難しいという話。
本当は、距離や音量、音源自体の大きさ、空間の位置、周波数帯域、優先度など全部混みで情報を持ったまま、エフェクトが自動でバランスが変化してかかるようなものが良いのですが、現状ではなかなか見当たらない。(ゲームのミドルウェアとかなんとかしてくれないかなぁ・・・)