はじめに
プレイヤーとの距離に応じて音量が変わった方がよりリアルになりますよね
Unity が配布している無料アセットで、どのように音量を変えられるか学ぶことができます
無料アセットのインストール
事前準備として、Unity Hubから3D(URP)のプロジェクトを作成しておきましょう
URPがついていないとアセットのマテリアルがピンクになってしまうので、必ずURPを選択してください
こちらからアセットを追加しましょう
Add to My Assets をクリックしてUnityで開きます
Unity のPackage Managerからダウンロードし、インストールまで行います
音を出してみよう
インストールまでできたら、Assets/Unity – Foundations of Audio/Scenes/EssentialsAudioScene.unity をダブルクリックしてシーンを開きます
ヒエラルキービューの一番下にあるBolling Potが音源なので、アクティブにします
ゲームを開始すると、部屋を十字キーで自由に移動できます
ただし、今のままではどこに移動しても沸騰した水の音が同じ音量で聞こえてきます(上の動画は無音です)
音の3D化対応
音を誰が聴くのか設定が必要です
Character に Audio Listenerコンポーネントを追加します
さらに、音源の方も3D対応させましょう
BollingWaterAudio のAudio SourceコンポーネントのSpatial Blendを1に設定します
これでポットに近づくと音が大きく聞こえるようになりました
Audio Source の横軸が Audio Listener と Audio Source の距離を表し、縦軸が音量になります
音源から遠ざかるほど、音量が下がっていくようになっています
変えられるパラメーターは様々なので、色々試してみましょう
各種パラメーターの説明はこちらに記載されています
まとめ
プレイヤーの距離に応じて音を変えるには、最低限以下の2点が必要です
・プレイヤー側:Audio Listenerコンポーネントを追加
・音源側:Audio SourceコンポーネントのSpatial Blendの値を大きくする
Unity公式アセットを使うことで、簡単に音の3D対応とパラメーターの調整具合を試すことができるので、色々研究してみましょう