转载地址
下面说一下Unity5也是一个很大的更新. 那就是AudioMixer.
原理:
这个东西的工作原理真的很棒, 很难再想到还有什么比这个更棒的了.
如何使用: 场景中新建一个AudioSource, 然后再在Project视图里面新建一个AudioMixer, 打开这个AudioMixer的三角形按钮, 将里面的"Master"赋予到AudioSource的Output上. 这样一来AudioSource的音频信号会通过Master这个Group最后播放出来. 而你在这个过程中可以做很多很灵活的事情, 下面大概走一遍:
先说一下这四个都是啥.
Mixers就是你当前选中的Mixer, 可以将一个Mixer在这个视图里拖拽到另一个Mixer上, 先不要这么尝试, 不然你会发蒙, 等你看完这楼的时候你再这么尝试. 听我的.
SnapShots可以在脚本中实时切换, 用来切换参数.在不同的SnapShot之间有所区别的只有效果器的参数,
Views可以切换Groups的可见状态. 切换Group的可见状态只有在编辑器中更加方便而已, 在运行时并无实质性的作用.
Group就是用来播放音频并且做设置的地方. 在Group视图中可以将一个Group拖拽到另一个Group上, 这样称之为路由. 将一个Group的信号路由到另一个Group上. 你现在动手一下, 在这里点加号新建一个Group然后命名为A, 然后在Project视图中找到你新建的这个A, 将这个A拖拽到你场景中的AudioSource上, 然后播放你的AudioSource, 看一下.你的这个A是不是有响应了? 然后停止播放关卡, 新建一个Group命名为B, 然后在Group视图中, 将A拖拽到B上面, 然后再播放场景, 然后观察一下, 再想一下, 再继续往下看.
经过上面的Group之间的测试你大概已经懂了AudioSource的工作原理了. 你现在试着在B上面加入一个效果器, 就加入一个Low Pass Filter好了. 将这个Low Pass Filter的Cutoff设置为2000. 然后再在A上加入一个High Pass Filter并且将cutoff设置为1500. 再播放一下听一听, 恭喜你现在掌握初步的诀窍了.
为何这样设计?看一下这幅图我的意思是好好看一下他的结构以及每个Group的名称, 你就能发现, 比如我在FX这个Group上面加的效果器可以用于FX下面的所有Group上面, 而FX下面的Group又可以拥有他们自己独立的设置. 这就是路由的奇妙.
在AudioMixer窗口的标签上右键点击一下可以看到有一些选项.
Show bus connections---如果勾选上, 会显示Send和Receive的关系.
Use RMS metering for Display--- 先说一下关于RMS和peak:
peak = 实时的峰值
rms = 方均根, 一定时限内的平均值
rms 使用上比较接近耳朵的感受, peak 就实实在在的电子数值.
在播放时, 开启Edit in Play Mode之后, 任何做过的改变都会被保留. 并且此时无法通过脚本修改参数.(比如通过AudioMixer.SetFloat来进行参数修改, 或者通过AudioMixerSnapshot.TransitionTo()来转换SnapShot都会无效, 这也是必然的).
理解了路由以及AudioMixer的基本原理, 是时候来掌握效果器这个概念了.
效果器附加给Group, 效果器可以理解为音频的ImageEffect.
如何通过脚本来在游戏运行时操控效果器, 右键点击任何效果器的任何参数然后选择Expose xxx, 然后会在这个地方找到所有经过Expose的变量, 这里可以修改他们的别名, 将他们的别名复制下来, 通过AudioMixer.SetFloat(string)来进行修改.
下面大概说一下每种效果器的用途: 其实大家完全可以自己尝试每种效果器听起来的感觉.
比较特别的有三个, 一个是Send, 二是Receive, 三是Duck Volume,
Send会将这个Group的信号传递出去, 而Receive配合接收, 因此Receive和Send是一对多的关系. 而Duck Volume需要Send进来一些信号, 在信号音量超过一定程度的时候会降低这个Group本身的音量. 比如NPC正在说话,此时你想让背景音乐小点声, 这个Duck Volume就发挥作用了.
Low Pass 低通滤波器.大家都知道音频是有频率的, 重低音就是低频, 青藏高原那种就是高频. 低通就是仅仅让低频播放出来而过滤高频.
High Pass高通滤波器. 那么低通配合高通可以实现中通滤波器.
Echo回声效果器.
Flange镶边效果器,用于创建迷幻飘渺的声音,
Distortion失真, 直接让信号听上去从30mb的MP3变成1mb的渣音质.
Normalize 用了之后音质会变得非常恶心. 不知道这个效果器用意何在.
ParamEQ
也称Parametric Equalizer. 参数均衡器, 是Sonar里面的
这种Equalizer的弱化版, 一个效果器只允许调节一条曲线. 当然可以存在多个这样的效果器来实现Sonar里的Equalizer的效果.比如这样
就是降低高频并且提升低频的效果.
Pitch Shifter听上去很有意思. 这个更改Pitch的操作与更改Group总体的Pitch的操作的原理不同, 因为更改Group总体的Pitch直接等于修改播放速度了, 通过加快速度来提升音高或者通过降低速度来减低音高. 而Pitch Shifter可以在播放速度不变的情况下改变音高, 也不愧需要消耗这么多CPU资源了(选中Group在Inspector视图点击齿轮图标可以看到显示CPU消耗的选项). 一个男声变成女声, 或者一个女声变成男声. 很好玩.
Chorus虽说是合唱效果器, 但是当前版本中完全没有达到正常音序器的合唱效果器的水准. 怎么说呢, 希望加强吧.
Compressor降低信号中音量最大的部分.
SFX Reverb混响效果, 还不错.
Low Pass Simple低通滤波器简化版.
High Pass Simple高通滤波器简化版.
如果觉得《Unity AudioMixer效果器设置》对你有帮助,请点赞、收藏,并留下你的观点哦!