Unity AudioMixer 之 Mixer使用及统一管理音量

 时间:2024-10-16 00:32:42

1、打开 Unity,新建一个空工程,然后向工程导入一些音频文件,具体如下图

Unity AudioMixer 之 Mixer使用及统一管理音量

2、在场景中,新建GameObject,修改名字为 BackgroundMusic,并添加一个 AudioSource,勾选 Loop,然后把BackgroundMusic 音频文件赋值上去,具体如下图

Unity AudioMixer 之 Mixer使用及统一管理音量Unity AudioMixer 之 Mixer使用及统一管理音量Unity AudioMixer 之 Mixer使用及统一管理音量

5、PlaySoundEffect_One 脚本具体内容如下:using UnityEngine;public cl锾攒揉敫ass PlaySoundEffect_One : MonoBehaviour{ // 音频源组件参数 private AudioSource audioSource; void Start() { // 获取音频源组件 audioSource = GetComponent<AudioSource>(); } void Update() { // 监控按下 E 键,进行特效音的播放 if (Input.GetKeyDown(KeyCode.E)) { audioSource.Play(); } }}

6、同理新建脚本 PlaySoundEffect_Two,按下 Q 键播放SoundEffect_Two 音频,并把脚本挂载到到场景中的SoundEffect_Two 游戏物体上,具体如下图

Unity AudioMixer 之 Mixer使用及统一管理音量Unity AudioMixer 之 Mixer使用及统一管理音量

9、在场景中添加UI,用来控制音量的调节,具体的UI布局如下图

Unity AudioMixer 之 Mixer使用及统一管理音量

11、双击 MasterMixer,显示 Mixer 编辑窗口,然后点击 “Group”后面的 “+”,添加两个组,分别命名为 BackgroundMusic 和 SoundEffect,具体如下图

Unity AudioMixer 之 Mixer使用及统一管理音量Unity AudioMixer 之 Mixer使用及统一管理音量

14、然后点击 Audio Mixer 的编辑面板上的 Exposed Parameters ,就会看到之前 Expose 的参数,右键 Rename,命名为 “MasterVolume”,便于后期代码控制,具体如下图

Unity AudioMixer 之 Mixer使用及统一管理音量

15、同理把 MasterMixer 中的 BackgroundMusic 和 SoundEffect 中的同样暴露Volume,并且重新命名,结果如下

Unity AudioMixer 之 Mixer使用及统一管理音量Unity AudioMixer 之 Mixer使用及统一管理音量

17、AudioMixerManager 耔阵式肥脚本的具体内容如下:using UnityEngine;using UnityEngine.Audio;publi艘早祓胂c class AudioMixerManager : MonoBehaviour{ // 进行控制的Mixer变量 public AudioMixer audioMixer; /// <summary> /// 控制主音量的函数 /// </summary> /// <param name="volume"></param> public void SetMasterVolume(float volume) { // MasterVolume为我们暴露出来的Master的参数 audioMixer.SetFloat("MasterVolume", volume); } /// <summary> /// 控制背景音乐音量的函数 /// </summary> /// <param name="volume"></param> public void SetBackgroundMusicVolume(float volume) { // MusicVolume为我们暴露出来的Music的参数 audioMixer.SetFloat("BackgroundMusicVolume", volume); } /// <summary> /// 控制音效音量的函数 /// </summary> /// <param name="volume"></param> public void SetSoundEffectVolume(float volume) { // SoundEffectVolume为我们暴露出来的SoundEffect的参数 audioMixer.SetFloat("SoundEffectVolume", volume); }}

18、脚本编译正确后,回到 Unity,然后在场景中,新建 GameObject,把脚本AudioMixerManager 挂载上去,把 MasterMixer 进行赋值,具体如下图

Unity AudioMixer 之 Mixer使用及统一管理音量

20、由于 AudioMixer 的音量调节的数值为 -80,20,所以对应的UI 中的Master、BackgroundMusic、SoundEffect的调节Slider 的 Min Value 和 Max Value 分别调整为 -80,20,具体如下图

Unity AudioMixer 之 Mixer使用及统一管理音量
  • PS如何一键美白
  • 如何高效找素材抠素材图?
  • 污点修复工具怎么用
  • mac版本的qq如何设置面板上的应用
  • 百度网盘怎么核对身份证信息?
  • 热门搜索
    七夕是什么节 interesting是什么意思 阡陌是什么意思 玥是什么意思 鱼和熊掌不可兼得是什么意思 爸爸妈妈去上班我去幼儿园是什么歌 fmvp是什么意思 l是什么单位 院士是什么级别 通假字是什么意思