引子
最近項目有用到場景音效
稍微研究了下在Unity中該如何實現(xiàn)3D音效的效果
前提
基于 Unity3d 5.4 ,因為我用的是5.4 宾毒,不清楚其他版本的問題
2D音效和3D音效的區(qū)別是驼修,2D音效的聲音不會隨著距離改變而改變聲音大小,3D音效有
所以伍俘,3D音效必須要依靠距離來確定聲音大小
Unity 里面提供了聲音監(jiān)聽器 AudioListener, 你可以理解為你的耳朵邪锌,就像Camera是你的眼睛一樣
一般游戲里面,這個 AudioListener 監(jiān)聽器掛在 Camera 上癌瘾。
Unity 提供AudioSound ,你可以理解為聲音源
屬性名 | 屬性介紹 |
---|---|
AudioClip | 聲音片段觅丰,還可以在代碼中去動態(tài)的截取音樂文件 |
Mute | 是否靜音 |
Bypass Effects | 是否打開音頻特效 |
Play On Awake | 開機自動播放 |
Loop | 循環(huán)播放 |
Volume | 聲音大小,取值范圍0.0 到 1.0 |
Pitch | 播放速度妨退,取值范圍在 -3 到 3 之間 設(shè)置1 為正常播放妇萄,小于1 為減慢播放 大于1為加速播放 |
Stereo Pan | 立體聲蜕企,-1 ~ 1 ,負值靠近左聲道冠句,正值靠近右聲道 |
屬性名 | 屬性介紹 |
---|---|
Spatial Blend | 設(shè)置3D引擎對音頻源有多大影響轻掩。值為0-1,0為2D音,1為3D音懦底,可以使用曲線調(diào)節(jié) |
Reverb Zone Mix | 混響區(qū)輸出 |
3DSoundSetting
屬性名 | 屬性介紹 |
---|---|
Doppler Level | 確定應(yīng)用于此音頻源的多普勒效果(如果設(shè)置為0唇牧,則不應(yīng)用效果)。 |
Volum Rolloff | 聲音衰減類型 |
Min Distance | 最小衰減距離聚唐,比它小的不衰減 |
Max Distance | 最大衰減距離丐重,比它大的也不衰減 |
還可以調(diào)節(jié)曲線讓衰減聲音聽起來更平和,或更真實
實現(xiàn)
- 將 AudioListener 放置在 Camera 上
- 調(diào)節(jié)聲音源參數(shù)杆查,可實現(xiàn)多套預(yù)知扮惦,調(diào)用預(yù)知初始化聲源,只設(shè)置聲音片段和聲音大小
- 聲源跟隨發(fā)聲者移動