オブジェクトにセットしたオーディオソース(AudioSource)の音量を変更することで、ゲーム内の音量を調節する方法です。
前準備
![audiosource volume1](https://sunagitsune.com/wp-content/uploads/2021/12/audiosource-volume1.png)
適当なオブジェクトにコライダーとオーディオソースコンポーネントを作成し、何か音源をセットしておきます。
![audiosource volume2](https://sunagitsune.com/wp-content/uploads/2021/12/audiosource-volume2.png)
確認用に、クリックすると音が鳴るようにしておきます。
ボリュームの変更
AudioSourceのボリュームを取得
GetComponent<AudioSource>().volume
GetComponent<AudioSource>().volume
![audiosource volume4](https://sunagitsune.com/wp-content/uploads/2021/12/audiosource-volume4.png)
オーディオソースの音量を変更するには、ボリュームパラメータを変更すればいいので、
![audiosource volume3](https://sunagitsune.com/wp-content/uploads/2021/12/audiosource-volume3.png)
コード的にはGetComponentでオーディオソースを取得し、volumeを変更するという形になります。
今回はマウスホイールの上下で音量が変わるようにしています。
今回はマウスホイールの上下で音量が変わるようにしています。
![unity 音量 スクロール](https://sunagitsune.com/wp-content/uploads/2021/12/07f99c4f3edc07085144d090ee1c5edf.gif)
ゲームを実行すると、音量がホイールに合わせて上下し、再生される音源の音量が変わることが確認できます。
![audiosource volume5](https://sunagitsune.com/wp-content/uploads/2021/12/audiosource-volume5.png)
直接値で指定する場合は、0~1のfloat値で指定します。
//Unity C#
void Update()
{
//ホイールスクロールの値を取得
float wh = Input.GetAxis("Mouse ScrollWheel");
//ホイールスクロールの上下と音量を連動
GetComponent<AudioSource>().volume += wh;
}
void OnMouseDown()
{
GetComponent().Play();
}
![](https://sunagitsune.com/wp-content/uploads/2021/07/computer-1343393_1280-160x90.jpg)
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。
コメント