Unity可以導(dǎo)入大多數(shù)標(biāo)準(zhǔn)音頻文件格式,精通于在3D 空間中播放聲音,還可根據(jù)需要提供其他效果。雖然播放聲音是一件非常簡單的事情,但是為了模擬現(xiàn)實(shí)直接中的各種聲音效果,Unity會(huì)提供各種各樣的組件來實(shí)現(xiàn)。
首先,我們需要了解“多普勒效應(yīng)”。他是一名奧地物理學(xué)家多普勒發(fā)現(xiàn)的一種聲音現(xiàn)象。當(dāng)火車從遠(yuǎn)而近時(shí)汽笛聲變大,但波長變短,而火車從近而遠(yuǎn)時(shí)汽笛聲變小,但波長變長。這是由于發(fā)聲源(波源)與收聽者之間存在著相對(duì)運(yùn)動(dòng)。在現(xiàn)實(shí)中,聲源和收聽者的位置移動(dòng)是非常普遍的。
Unity為了模擬“多普勒效應(yīng)”,就需要模擬“聲源”和“收聽者”這兩個(gè)能夠移動(dòng)的角色。很明顯,這兩個(gè)角色在場景中都應(yīng)該是游戲?qū)ο螅驗(yàn)橹挥杏螒驅(qū)ο蟛趴梢赃M(jìn)行位置移動(dòng)變化。但是,最終這個(gè)效果還是需要通過控件來實(shí)現(xiàn)的。Unity要求“聲源” 來自附加到游戲?qū)ο蟮囊纛l源 (Audio Source)組件,發(fā)出的聲音由附加到另一個(gè)游戲?qū)ο螅ㄍǔJ侵鲾z像機(jī))上的音頻監(jiān)聽器 (Audio Listener)組件獲取。然后就可以利用兩個(gè)游戲?qū)ο笾g的距離和位置的影響,播放聲音給最終用戶聽。此外還使用音頻源對(duì)象和音頻監(jiān)聽器對(duì)象的相對(duì)速度來模擬多普勒效應(yīng)以增加真實(shí)感。注意,音頻源對(duì)象可以是多個(gè),但音頻監(jiān)聽器只有一個(gè)。
此外,周圍環(huán)境也會(huì)影響聲音的反射方式,因此洞穴內(nèi)的聲音會(huì)產(chǎn)生回聲,但相同的聲音在露天環(huán)境中卻不會(huì)產(chǎn)生回聲。Unity 無法僅根據(jù)場景幾何體來計(jì)算回聲,但您可以通過向?qū)ο筇砑右纛l回聲濾波器 (Audio Echo Filter)組件來模擬回聲。Unity提供了很多音頻濾波器來實(shí)現(xiàn)各種各樣的效果。如下所示:
1.音頻低通濾波器 (Audio Low Pass Filter)
2.音頻高通濾波器 (Audio High Pass Filter)
3.音頻回聲濾波器 (Audio Echo Filter)
4.音頻失真濾波器 (Audio Distortion Filter)
5.音頻混響濾波器 (Audio Reverb Filter)
6.音頻合聲濾波器 (Audio Chorus Filter)
接下來,我們使用案例來介紹如何播放聲音。unity支持的音樂文件格式有很多,一般背景音樂建議使用.mp3與.ogg,而音效則可以使用.aiff。Unity官方推薦,對(duì)于較短的音樂可以使用未經(jīng)壓縮的wav,aiff格式。對(duì)于較長的音樂,建議使用壓縮的ogg voris, mp3格式。播放聲音涉及到的音頻源 (Audio Source)組件和音頻監(jiān)聽器 (Audio Listener)組件。
我們首先創(chuàng)建一個(gè)新的“SampleScene2.unity”場景。接下來,我們就創(chuàng)建一個(gè)空游戲?qū)ο螅藛螜邳c(diǎn)擊“GameObject”->“Create Empty”來創(chuàng)建??諏?duì)象在Scene場景中是看不到的。
一個(gè)空游戲?qū)ο笾挥小癟ransform”組件,我們給這個(gè)空物體添加Audio Source組件。
添加Audio Source組件后,我們就可以在Scene場景中看到一個(gè)小喇叭的物體。我們?cè)賮聿榭此腎nspector檢視面板,如下所示
音頻源 (Audio Source) 組件在場景中播放音頻剪輯。剪輯的音源可通過音頻監(jiān)聽器或者混音器播放。音頻源可播放任何類型的音頻剪輯,可設(shè)置以 2D、3D 或混合模式播放。音頻可在揚(yáng)聲器之間擴(kuò)散,并在 3D 和 2D 之間變換??赏ㄋp曲線控制傳播距離。此外,如果監(jiān)聽器位于一個(gè)或多個(gè)混響區(qū)內(nèi),則會(huì)將混響應(yīng)用于音頻源。可對(duì)每個(gè)音頻源應(yīng)用單獨(dú)的濾波器,以獲得更豐富的音頻體驗(yàn)。接下來,我們就來介紹這個(gè)組件的常用屬性。
Audio Clip 參考將要播放的聲音剪輯文件。我們可以直接將音頻文件拖拽到該選項(xiàng)。
Output默認(rèn)情況下,剪輯將直接輸出到場景中的音頻監(jiān)聽器 (Audio Listener)。使用此屬性可以更改為將剪輯輸出到混音器 (Audio Mixer)。
Mute如果啟用此選項(xiàng),則為靜音。默認(rèn)不開啟此項(xiàng)。
Bypass Effects?啟用/停用音頻源的濾波器效果。默認(rèn)啟用。
Bypass Listener Effects? 啟用/停用所有監(jiān)聽器。默認(rèn)啟用。
Bypass Reverb Zones 啟用/停用所有混響區(qū)。默認(rèn)啟用。
Play On Awake 如果啟用此選項(xiàng),聲音將在場景啟動(dòng)時(shí)開始播放。如果禁用此選項(xiàng),需要通過腳本使用 Play() 命令啟用播放。
Loop 是否循環(huán)播放。默認(rèn)不循環(huán)播放,也就是只播放一次。
Priority??從場景中存在的所有音頻源中確定此音頻源的優(yōu)先級(jí)。(Priority值為0 表示優(yōu)先級(jí)最高。值為256, 表示優(yōu)先級(jí)最低。默認(rèn)值為 128)。
Volume 聲音的大小與音頻監(jiān)聽器的距離成正比,以米為世界單位。
Pitch 由于音頻剪輯的減速/加速導(dǎo)致的音高變化量。值 1 表示正常播放速度。
Stereo Pan 設(shè)置 2D 聲音的立體聲位置。
Spatial Blend 設(shè)置 3D 引擎對(duì)音頻源的影響程度。
Reverb Zone Mix 設(shè)置路由到混響區(qū)的輸出信號(hào)量。
3D Sound Settings 3D聲音的設(shè)置
Doppler Level 確定將對(duì)此音頻源應(yīng)用多普勒效果的程度,0表示不使用。
Spread 在發(fā)聲空間中將擴(kuò)散角度設(shè)置為 3D 立體聲或多聲道。
Volume Rolloff 聲音衰減的方式。Logarithmic Rolloff??? 靠近音頻源時(shí),聲音很大,但離開對(duì)象時(shí),聲音降低得非???。
Min Distance? 在 MinDistance 內(nèi),聲音將保持可能的最大響度。在 MinDistance 之外,聲音將開始減弱。
Max Distance? 聲音停止衰減的距離。超過此距離之后,聲音將保持與監(jiān)聽器之間距離 MaxDistance 單位時(shí)的音量,不再衰減。
接下來,我們將一個(gè)音頻文件“night.mp3”放入到Asset目錄下,音頻記錄夜晚蟲鳴的背景聲音。當(dāng)然,我們還提供了其他的一些聲音文件。
然后,我們需要將這個(gè)“night.mp3”文件拖拽到Audio Source組件的Audio Clip選項(xiàng)上。
接下來,我們就需要添加音頻監(jiān)聽器 (Audio Listener)組件。默認(rèn)情況下,我們的“Main Camera”主相機(jī)游戲?qū)ο笊厦孀詣?dòng)會(huì)添加該組件。
音頻監(jiān)聽器 (Audio Listener) 充當(dāng)類似于麥克風(fēng)的設(shè)備。它接收來自場景中任何給定音頻源的輸入,并通過計(jì)算機(jī)揚(yáng)聲器播放聲音。對(duì)于大多數(shù)應(yīng)用程序,最有意義的是將監(jiān)聽器附加到主攝像機(jī)。音頻監(jiān)聽器沒有屬性。但必須添加音頻監(jiān)聽器才能工作。默認(rèn)情況下,音頻監(jiān)聽器將被添加到主攝像機(jī)。請(qǐng)注意,每個(gè)場景只能有 1 個(gè)音頻監(jiān)聽器才能正常工作。接下來,我們運(yùn)行整個(gè)工程,查看是否有聲音。由于截圖無法展示聲音,所以我們就不展示了。
備注:AudioSource和 Audio Listener都可以使用play方法播放聲音。AudioSource控制的是場景中一個(gè)聲音文件的播放,而Audio Listener則可以控制場景中所有聲音的播放。畢竟在一個(gè)場景中,可以存在多個(gè)AudioSource組件,但是只有一個(gè)Audio Listener組件。文章來源:http://www.zghlxwxcb.cn/news/detail-729425.html
本課程涉及的內(nèi)容已經(jīng)共享到百度網(wǎng)盤:https://pan.baidu.com/s/1e1jClK3MnN66GlxBmqoJWA?pwd=b2id文章來源地址http://www.zghlxwxcb.cn/news/detail-729425.html
到了這里,關(guān)于第五十六章 Unity 音頻播放的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!