Unityで距離に伴って音量を変える方法

この記事ではUnityでプレイヤーとの距離でサウンドの音量を自動で調節する方法を紹介します。

特定のオブジェクトに近づくほどサウンドが大きくなるような場面に使うことができます。

離れれば離れるほどサウンドも小さくなります。

サンプル

STYLY GALLERYからサンプル空間を体験できます。
3DSound

記事で紹介しているUnityプロジェクトのダウンロードはこちらからできます。
3DSound_Sample

 

サンプルアセットをWebEditorで確認する

サンプルアセットをWebEditorで確認するLaunch the WebEditor

※STYLYに登録していれば、本TIPSで作成したサンプルアセットをWebEditorで確認することができます。
アカウント未登録の場合、新規登録を行ってから再度、本ボタンをクリックしてください。

アカウント登録はこちらから
Click here

 

Audio Sourceを追加する

UnityではAudioを使用するためにコンポーネントを追加します。

音を出したいオブジェクトを選んでAdd Componentします。

 

Audioで検索をかけるとAudio関係のものが出てくるのでAudio Sourceを選びます。

 

 

Audio Sourceが追加されました。

これに設定をしていきます。

 

Audio Clipを追加する

使用したいBGMや効果音をAudio Clipに指定します。

ここでは『Don』という効果音を使用します。

 

再生の仕方を設定しておきます。

Play On Awake: シーンが始まると同時に再生される

Loop :ループ再生させる

 

3DSoundにする

このままでは一定の音量で再生されるだけなので距離に応じて変わるように設定していきます。

Spatial Blendの数値を1(3D)にします。

これで3DSoundになりました。

 

3DSoundの設定

Volume Rolloffで音量の変化をカーブで制御します。

Logarithmic Rolloff : 近づくと急速に音量が大きくなり、離れると急速に音量が小さくなります。

 

Linear Rolloff : 近づくほどだんだん大きくなり、離れるほどだんだん小さくなります。

 

この記事ではUnityで3DSoundを使用する方法を紹介しました。

特定のキャラクターに音声をつけておいて近づくと声が聞こえたり、オブジェクトに効果音やBGMをつけておいて

近づくと聞くことができるようなシーンを作るときに使えそうです。

2Dサウンドと3Dサウンドをうまく使い分けていきたいですね。

 

UnityからSTYLYにアセットをアップロードする方法
この記事を読む