Unity音频混合器如何暴露参数

音频混合器是Unity推荐管理音效混音的工具,那么如何使用代码对它进行管理呢?

首先我在AudioMixer的Master组中创建了BGM和SFX的分组,你也可以直接用Master没有问题。

这里我以BGM为例,如果要在代码中进行使用就需要将参数暴露出去,问题是这个按钮并不在Exposed Parameters的位置,也没有任何+按钮与之关联就很恼火。

如果要将BGM的音量暴露出去就需要在inspector窗口,右键Volumn(体积)这个变量名(不是右边的滑轨),然后选择弹出框的第一条Expose "Volume(of BGM)" to script即可

在Exposed Parameters中就能看到MyExposedParam(Volumn of BGM)就是BGM的音量
可以双击这个变量来自定义暴露的变量名,这里我就叫BGM了

最后让我们来到代码中进行使用

csharp 复制代码
public AudioMixer audioMix;  //挂载音频混合器

public void SetAudioMix(float percentage)
{
    //int step = 10;  //步长,自定义可以省略
    //float maxVolumn = 20f;  //最大音量,对应mix上定义的最大20db,也可以自定义
    //float minVolumn = -80f;  //最小音量,对应mix上定义的最小-80db,也可以自定义
    //currentBGMVolumn = minVolumn + Mathf.Log(1f + percentage * (step - 1), step) * (maxVolumn - minVolumn);  //对数对应
    audioMix.SetFloat("BGM", 20f);//设置音频混合器音量,这里的BGM就是我们对外暴露所设置的变量名
}
相关推荐
zaizai10077 小时前
Unity 一些小功能(屏幕画画,)
unity
归海_一刀9 小时前
【Unity动态换装骨骼合并】
unity·c#·游戏引擎
爱shader的锐雯12 小时前
Unity基于屏幕空间的鼠标拖动,拖动物体旋转
unity·计算机外设·游戏引擎
惊鸿醉12 小时前
⭐ Unity 使用Odin Inspector增强编辑器的功能:UIManager脚本实例
unity·编辑器·游戏引擎
与火星的孩子对话13 小时前
Unity进阶课程【四】Recorder 插件的使用 - 录制游戏画面、音频、动画、图片、无水印
游戏·unity·图形渲染·开源软件
achonor1 天前
Unity UGUI Image使用图集透明度点击过滤BUG
unity·游戏引擎·bug
天涯过客TYGK1 天前
Unity导出微信小游戏后无法调起移动端输入框
unity·微信·游戏引擎
雨月琉琉1 天前
unity使用内建组件给刚体增加重力
unity·游戏引擎
Yuze_Neko1 天前
Unity有限制状态机FSM
unity·游戏引擎
GoMaxAi3 天前
金融行业 AI 报告自动化:Word+PPT 双引擎生成方案
人工智能·unity·ai作画·金融·自动化·aigc·word