【Unity开发小技巧】Unity混音器Mixer控制全局音量
目录
一:前言
二:控制逻辑
三:制作混音器Mixer
1.创建MasterMixer,MusicMixer,soundEffectMixer
2.设置父子级关系
4.暴漏属性
四:编辑代码控制
五:Slider滑动条设置
一:前言
从业多年一直没用过这个混音器工具,毕竟很很多功能都是尽可能的自己写代码控制,这样后期维护和修改都会很容易,最近有学生在咨询声音管理系统,特别是这个混音器怎么使用。趁这次机会赶紧去了解学习了一下,在此记录。这里只记录用混音器统一控制属性,其他的音频资源管理模块这里不涉及,以后有时间单独记录。
二:控制逻辑
我们常用的游戏音频类型主要还是分为三个种类:1.Music背景音乐(一直存在的)2.瞬时音效(即时生成)3.剧情配音(也可以归类于音效)。正常使用代码管理控制这些音效的时候,特别是对声音音量的管理设置,都是先分类管理再全部遍历然后设置音量,这种虽然说麻烦但是优点在于方便我们维护修改,另外一种就是把音量的控制逻辑或者其他的属性控制剥离出来交给混音器处理其实也很方便。这里我的思路是创建三个混音器一个全局Mixer,一个MusicMixer和一个SoundEffectMixer,其中全局的只对MusicMixer和SoundEffectMixer进行管理,然后具体的声音分别归SoundEffectMixer和MusicMixer管理。简单的话也可以直接做一个Mixer直接对音乐进行管理
三:制作混音器Mixer
1.创建MasterMixer,MusicMixer,soundEffectMixer
鼠标右键创建混音器,修改名字为MasterMixer..,另外两个可以点击Mixers后面的加号创建也可以在外面右键创建。
2.设置父子级关系
1..点击加号创建music和sound
2.把music和sound拖到master的子节点下面。并关联对应的Group下面的节点
3.设置对应AudioSource
分别选中场景里的音乐,然后把对MasterMixer下对应的类型拖拽进音乐的Output槽内
4.暴漏属性
1.选中Mastermixer,2.再选中目标Mixer 3.找到右边Volume属性 4.在Volume上右键暴漏属性 5.修改属性名字f2
三个Mixer都要暴漏出来
四:编辑代码控制
public class Test : MonoBehaviour
{public AudioMixer audioMixer;//MasterMixerpublic AudioSource soundClick;//soundpublic void SetAllVolume(Slider s){audioMixer.SetFloat("MasterVolume", s.value);}public void SetMusicVolume(Slider s){audioMixer.SetFloat("MusicVolume", s.value);}public void SetEffectVolume(Slider s){audioMixer.SetFloat("EffectVolume", s.value);}private void Update(){if (Input.GetKeyDown(KeyCode.P)){soundClick.Play();}}
}
五:Slider滑动条设置
1.根据混音器内音量的最大最小值设置slider的最大最小值[-40,0]
2.添加事件
完结撒花
【Unity开发小技巧】Unity混音器Mixer控制全局音量相关推荐
- 【Unity开发小技巧】Unity打包IOS端APP
目录 一:安装IOS的模块并打包 1.Hub可以添加IOS模块 2.项目内部下载安装ISO模块 3.添加我们需要打包的场景 二:XCode工程内部设置并打包 1.mac商店安装XCode软件并打开xc ...
- 【Unity开发小技巧】模型单指旋转双指缩放功能代码(多种情况)
欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 1.pc端通过鼠标中键调整相机的FieldOfView属性的值(会发生形变不建议) void Update(){if (Inp ...
- 【Unity开发小技巧】FMS有限状态机详解
欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 在实际开发中很多时候对某类别的对象都需要有多种状态的管理和切换,这个时候我们就可以引入FMS状态机概念,有限状态机主要有三要素 ...
- 【Unity开发小技巧】AudioManager声音管理器
欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群,行业纵横颇多,每个人精通领域各异,旨在交流, 在项目里做音频管理的时候,我们往往是跟资源管理结合起来的,但是这里我们就单音频管 ...
- 【Unity开发小技巧】Unity日志输出存储
一般我们在做项目的反馈日志收集的时候都会根据提交的后台日志判断线后Bug产生的大概原因,直接帮我们缩小范围. #region 模块信息 // ***************************** ...
- 【Unity开发小技巧】iOS APP下载安装时,如果出现此时无法下载安装APP的字样时,一些解决思路
目录 一.OS系统和IOS版本更新 二:App-Store方式 三:Ad-hoc方式 四:In-house 方式 五: Architecture设置错误 六:App 支持的 iOS 系统版本,和当前 ...
- 【Unity开发小技巧】Unity随机概率扩展(概率可调控)
做了以下两张图有助于理解,如果想调控概率的话直接修改概率数组即可,实战案例:http://t.csdn.cn/P9QKJ 其实在做概率类相关的界面效果的时候,我们真实做法都是在刷新界面前已经把结果获取 ...
- 日常安排php,PHP日常开发小技巧
PHP日常开发小技巧 导语:PHP语言中,如果你懂得一些开发技巧,那么对你学PHP,会有很大的帮助.下面的是百分网小编为大家整理的PHP日常开发小技巧,希望对你能有所帮助. PHP批量取得checkb ...
- 一起谈.NET技术,Silverlight 游戏开发小技巧:动感小菜单
网页应用受限于自身的浏览器范畴,不能把华丽效果完全展示,正是因为如此,在网页上诞生了无数绚丽的设计,虽然动感程度和桌面应用无法比拟,但是在UI上却下足了功夫,用户体验可以说无以伦比,比如说小小的菜单, ...
- Silverlight 游戏开发小技巧:实现街霸4的选人界面
Silverlight 游戏开发小技巧:实现街霸4的选人界面 上一篇只是一个引子,用来说明Projection的基本操作,游戏研发都是用这些小的基本功能慢慢组合出来,其实这一篇仍然是Projectio ...
最新文章
- SAP QM初阶之维护检验计划时可以不用事先创建好检验特性主数据
- 为什么VS(visual studio)中会建议宏 #define 转换为constexpr?
- 51NOD 1125(交换机器最小代价) (贪心) 思想 !思想!
- Java命令行界面(第17部分):jw-options
- [编织消息框架][优化系统]突破连接上限(上)
- java 中的static 用法
- android开发内存优化——利用软引用
- Dev控件发布到服务器上后样式表不显示解决方法
- adb重启或关机手机命令
- 使用Android Studio生成APP图标
- java crc8_CRC8校验的java实现 | 学步园
- 1KB文件夹快捷方式病毒清除(转)
- antd修改Tooltip背景色
- 数据驱动「付费转化」的3个思路
- 用Paddle自动生成二次元人物头像
- Keras Tuner模型自动超参数调优
- 嵌入式GUI盘点-你了解几款?
- 最新ThinkPHP开发仿百度钱包源码红色优享钱包源码/接入第三方认证,去后门修复缺陷
- 企业虚拟服务器管理,中小企业虚拟化解决方案-VMware vSphere 6.5-日常管理入口v0.0.1...
- java jsonpath过滤_JSONPATH json解析工具