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就是我们对外暴露所设置的变量名
}
相关推荐
玖玥拾1 小时前
Unity 3D 笔记(十五)Unity/C# Socket 网络笔记4
服务器·网络·unity·c#
xcLeigh1 天前
Unity基础:创建你的第一个游戏物体——Cube、Sphere与基本3D物体
游戏·3d·unity·教程
ellis19701 天前
C#异常相关关键字:Exceptions,throw,try,catch,finally
unity·c#
HH‘HH1 天前
Unity通过OPC UA工业协议连接工业设备实战指南
unity·游戏引擎
め.2 天前
定点数运算库
算法·unity
点量云实时渲染-小芹2 天前
UE/Unity/Webgl模型在信创服务器上实时渲染推流的可行性分析
unity·webgl·云渲染信创·国产实时渲染·ue信创云推流
郝学胜-神的一滴2 天前
[简化版 GAMES 104] 现代游戏引擎 02:拆解现代游戏引擎5+1层级架构,吃透引擎底层核心逻辑
c++·unity·架构·游戏引擎·图形渲染·unreal engine·系统设计
unityのkiven2 天前
Unity 中如何创建一片森林:享元模式能不能用?应该怎么用?
unity·游戏引擎·享元模式
LONGZETECH2 天前
新能源汽车充电设备装配与调试仿真教学软件 技术架构与核心实现解析
大数据·算法·3d·unity·架构·汽车