初級編09 壁の向こうから聞こえる音

壁の向こうから音が聞こえる演出

自分と音源の間に壁があったとしても、音が全く聞こえてこないわけではありません。少しくぐもった音が聞こえてくるのが自然です。
今回は、壁の向こうからくぐもった音が聞こえてくる演出の実現方法をご紹介します。

音を鳴らす前に

説明上の混乱を避けるため、前回のチュートリアル「初級編07 3Dサウンドを再生する(1)」でレベルに配置した音を取り除いてください。

壁や音を配置する

まず、キューブ・スタティック・メッシュを配置して壁を作ってください。



壁を挟んでプレイヤーの反対側に「simple_bgm」キューを配置してください。

このとき、「simple_bgm」が壁や床と接触しないようにしてください。
前回のチュートリアルと同様にして、設置した「simple_bgm」を3Dサウンドに設定してください。

音がくぐもって聞こえるよう設定する

設置した「simple_bgm」を選択した状態で詳細ウィンドウの「Attenuation Occlusion」を見てください。

「Enable Occlusion」にチェックを入れます。
「Occlusion Low Pass Filter Frequency」を10000.0に設定します。
「Occlusion Volume Attenuation」を0.5に設定します。
この設定の詳細は後程ご説明します。

音を聴いてみる

ゲームを開始してください。 カメラと音源の間に壁があるとき、くぐもった音が聞こえることを確認してください。
移動して、カメラと音源の間に遮るものがないとき音がクリアに聞こえることを確認してください。

現在の設定だとカメラの位置から音を聴いている状態になっています。
なぜならリスナーがカメラに付いているためです。
キャラクターの位置から音を聴きたいと思っている場合は少し不自然に聴こえますね。
この問題は次のチュートリアルで解決します。

各種設定項目について

「Occlusion Low Pass Filter Frequency」

この値が小さければ小さいほど、くぐもった音になります。

「Occlusion Volume Attenuation」

リスナーと音源の間に壁があるときの音量の倍率を指定します。

「Occlusion Interpolation Time」

リスナーと音源の間をオブジェクトが遮ったときにくぐもった音に変化するまでの時間を設定できます。
リスナーと音源の間にオブジェクトがなくなったときにクリアな音に戻るまでの時間もここで設定した値の時間となります。

Tips

リスナーとは?

ゲーム空間上のどの場所で音を聴いているかを表す言葉です。

常にくぐもった音しか聞こえない場合

音源が壁や床にめり込んでいると、常にくぐもった音になってしまいます。
音源が壁や床にめり込んでいないかご確認ください。
author:上田 雄太,小野 正貴