使用Audio Mixer分别控制音效
前言
在游戲中,通常我們需要控制整個游戲的主音量(全局音量),并且單獨(dú)控制背景音樂和其他音效(攻擊、爆炸之類)的音量,這時我們可以用Audio Mixer來解決。
工程中用到3個音頻文件作為測試,分別為背景音樂、玩家攻擊和敵人爆炸。
正文
1、新建工程導(dǎo)入資源
將3個音頻文件放在Audio目錄下:
2、創(chuàng)建音量調(diào)節(jié)面板UI
創(chuàng)建了3個滑動條分別控制主音量、音樂和音效,并且將滑動條的默認(rèn)值設(shè)為1:
3、創(chuàng)建聲音播放源
(1)背景音樂
創(chuàng)建一個空物體(GameObject)來作為背景音樂的載體,改名為Background Music,添加一個Audio Source組件(要使用Audio Mixer控制音量必須要用Audio Source來播放音頻),將背景音樂音頻文件拖到AudioClip中,勾選Loop讓背景音樂循環(huán)播放:
(2)玩家攻擊音效
創(chuàng)建一個空物體改名為Player,添加Audio Source組件,將玩家攻擊音效拖入AudioClip,取消勾選Play On Awake:
并且添加了一個名為Player的腳本(腳本放在Scripts文件夾下)來模擬玩家攻擊播放攻擊音效,代碼如
下:
(3)敵人爆炸音效
和設(shè)置Player步驟相同,只不過物體和腳本名變成了Enemy,播放按鍵設(shè)為E,拖入敵人爆炸音效,取消勾選Play On Awake:
3、創(chuàng)建Audio Mixer
在Audio文件夾下創(chuàng)建Mixers文件夾,右鍵點(diǎn)擊Mixers文件夾 --> Creat --> Audio Mixer:
創(chuàng)建后改名為MasterMixer,我們用這個Audio Mixer來控制全局音量;雙擊打開我們創(chuàng)建的MasterMixer,將打開的窗口拉出來方便我們查看:
接下來我們單擊選擇Groups下的Master,再點(diǎn)擊Groups右邊的 + 添加成員;我們需要創(chuàng)建兩個成員,分別命名為Music和SoundEffect:4. 我們會發(fā)現(xiàn)MasterMixer下多出了幾個東西
我們要用Music成員來控制背景音樂,所以我們把Music成員拖到Background Music物體的Audio Source組件下的Output中:
然后我們點(diǎn)擊Mixers右邊的 + ,再創(chuàng)建一個名為SoundEffectMixer的Audio Mixer,我們用這個Mixer而來管理玩家攻擊和敵人爆炸音效,并且將這個Mixer也放到Mixers文件夾下,方便管理:
然后我們選擇剛創(chuàng)建的SoundEffectMixer,單擊選擇Master,點(diǎn)擊Groups右邊的 + ,創(chuàng)建兩個成員,分別為PlayerAttack和EnemyExplosion,分別代表玩家攻擊和敵人爆炸音效:
我們再次單擊左鍵選擇SoundEffectMixer,拖到上面的MasterMixer,然后會彈出一個窗口,選擇SoundEffect:
將PlayerAttack成員拖到Player物體的Audio Source組件下的Output中;
將EnemyExplosion成員拖到Enemy物體的Audio Source組件下的Output中:
現(xiàn)在我們可以通過MasterMixer下的Master來控制全局主音量,通過Music來控制背景音樂音量,通過SoundEffect來控制玩家攻擊和敵人爆炸音效。
4、暴露參數(shù)
我們需要先將Master、Music和SoundEffect的參數(shù)暴露(Expose)出來,這樣我們才可以通過代碼去控制音量:
首先暴露出Master的參數(shù):
然后點(diǎn)擊Exposed Parameters,選擇我們剛暴露出來的Master的參數(shù),按下F2更改名字為MasterVolume:
對Music和SoundEffect進(jìn)行同樣的操作(1,2步操作),然后我們就有3個暴露出來的參數(shù):
5、控制音量
現(xiàn)在我們有了參數(shù)就可以讓我們控制音量了,那么接下來就進(jìn)行音量的控制:
將MasterMixer拖到AudioManager腳本上:
然后我們將3個滑動條分別綁定這3個函數(shù):
將3個滑動條都綁定號函數(shù)后,我們就可以通過滑動條來分別控制Master、Music和SoundEffect的值了:
但是現(xiàn)在滑動條只能讓參數(shù)的值在1和0間變化,聲音大小沒有變化,所以我們需要修改滑動條的最小值和最大值來解決;
我們先要測試下聲音的大小區(qū)間,點(diǎn)擊Edit in Play Mode,拖動滑動塊,找出聲音最小和最大的值:
然后我們修改滑動條的最小值和最大值:
全部滑動條都調(diào)整好了之后我們就可以正常調(diào)節(jié)音量的大小了;
(1)主音量控制全局音量(包括了背景音樂和音效)
(2)音樂控制背景音樂
(3)音效控制玩家攻擊和敵人爆炸音效
總結(jié)
以上是生活随笔為你收集整理的使用Audio Mixer分别控制音效的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果电容笔和普通电容笔区别有哪些?平板值
- 下一篇: 开机出现all boot options