在探索游戏中如何设置音乐音效的过程中,接触到了一个新的事物---AudioMixer。
之前也做过音乐音效的控制,一般是通过控制变量的值来控制的。了解到AudioMixer只需要调整它就可以做到控制,于是就决定探索一下它。
怎么使用,网上有很多文章写得非常清楚,我就不多写了。如下链接
[Unity 3D] 使用Audio Mixer分别控制主音量、背景音乐和其他音效_菜鸟小栈-CSDN博客_audio mixer前言在游戏中,通常我们需要控制整个游戏的主音量(全局音量),并且单独控制背景音乐和其他音效(攻击、爆炸之类)的音量,这时我们可以用Audio Mixer来解决。如果文章中有哪些地方写的不对, 欢迎指出。?提醒在这篇教程中我将重新创建一个简单的工程来给大家演示,并且我当前使用的Unity版本为2018.1.1f1。本文并非零基础教程,但是写了有点太详细,且有大约30张图,所以...https://blog.csdn.net/iFasWind/article/details/81182579初次接触也不太会玩,就简单见了两个,一个控制音乐,一个控制音效。
真香1
可以看到Volume的值是-80~20,一般修改音量会用到进度条(0~1),修改音量的时候会发现进度条设置到0.5,及Volume = -30,已经听不到什么声音了。。所以这玩意变化不是线性的。。解决方案:
private AudioMixerGroup bgmAudioMixerGroup;
private AudioMixerGroup soundAudioMixerGroup;
//------------省略若干------------
float val = Mathf.Clamp(value, 0.00001f, 1.0f);
int result = (int)(20 + 20 * Mathf.Log10(val));
bgmAudioMixerGroup.audioMixer.SetFloat("MusicVolume", result);
其中,Mathf.Log10(0.00001f) = -5,Mathf.Log(1.0f) = 0
真香2
当Volume的值设置到20时,背景音乐会特别嘈杂,特别大的噪音。恶心到完全没法听,真想推倒重新用变量控制,放弃AudioMixer。解决方案:
修改高通低通能正常播放了。。
仅仅是正常播放而已,那么多参数,感觉还有一个新的世界要去解锁才能真正学会用它。
欢迎大佬评论指正?
|