1.簡介
Fmod是一種跨平臺(tái)的音頻引擎。采用Fmod作為音頻引擎的游戲包括Far Cry(孤島驚魂),?Tom?Clancy‘s?Ghost?Recon(幽靈行動(dòng)),著名的World?Of?Warcraft(魔獸爭霸)。
Fmod官網(wǎng)是https://www.fmod.com/。

2.下載
需下載FmodStudio,打開官網(wǎng)后需要注冊(cè)后登陸才能下載
下載Studio

下載UnityPackage

在將UnityPackage導(dǎo)入U(xiǎn)nity后,可以在Unity的菜單欄中找到Fmod選項(xiàng)。
3.FomdStudio介紹
打開fmod studio后,看到的大體界面是這樣的。

其中,左側(cè)有Events, Banks,Assets三個(gè)列。在fmod中,聲音的素材放在Assets中,編輯好的聲音事件Event在Events里,Banks里面存放bank文件,聲音事件Event只有先Assign to bank后,在執(zhí)行build操作,才能在Unity中的菜單欄Fmod選項(xiàng)里的Event Browser中可以顯示出來。
最大的Editor部分則為聲音文件的操作區(qū)。
在Events,Banksia,Assets中都可以創(chuàng)建文件夾進(jìn)行方便管理。



在Events中鼠標(biāo)右擊在彈出的選擇框中選擇new event即可新建一個(gè)聲音事件Event,將Assets中的音樂素材拖入到Editor區(qū)域中,在點(diǎn)播放按鈕,就能夠聽到素材的聲音了。

在編輯區(qū)域內(nèi)右擊,可以在彈出的選擇框內(nèi)看到多種選項(xiàng),有設(shè)置循環(huán)播放區(qū)域,添加標(biāo)記,設(shè)置判定區(qū)域等。對(duì)聲音編輯感興趣的可以深入學(xué)習(xí)。
4在Unity中的使用
在studio中新建一個(gè)Event,在Assets中導(dǎo)入素材后,在Event添加聲音后,執(zhí)行assign to bank,在執(zhí)行Build操作后進(jìn)行保存,就可以在Unity中進(jìn)行調(diào)用并播放了。
打開unity,首先確保已經(jīng)導(dǎo)入fmod的UnityPackage包,然后點(diǎn)擊在unity的菜單欄中的Fmod選項(xiàng)的Edit Setting,在下面的面板中在文件夾中選選中Fmod項(xiàng)目。

在Fmod選項(xiàng)里選中Event Browser在彈出的面板中就能看到fmod項(xiàng)目的event和bank。

接下來就是在代碼里調(diào)用了。

添加using FMODUnity,定義一個(gè)fmod的EventInstance,使用[FMODUnity.EventRef]就能夠在文件夾中選擇event的路徑,而不需要手動(dòng)的寫事件在文件夾中的路徑

調(diào)用fmod中的RuntimeManager類中創(chuàng)建event的方法,就能夠根據(jù)事件在fmod項(xiàng)目中的路徑創(chuàng)建出EventInstance,在調(diào)用event的start方法就能夠播放這個(gè)事件。將腳本掛在場(chǎng)景中的空物體下,在運(yùn)行場(chǎng)景,就能聽見聲音了。

在fmod中可以創(chuàng)建3D聲音事件或者是2D聲音事件,如果是3D聲音事件,在監(jiān)聽腳本處于聲音事件的播放范圍內(nèi)及能夠聽到聲音,反之,如果監(jiān)聽腳本處于聲音事件的播放范圍,則聽不到聲音。
在場(chǎng)景中有個(gè)球體和正方體,如下圖,其中球體外的白色線圈為3D聲音的播放范圍。

在球體上添加腳本FmodStudioEventEmitter,如下圖,

在Evnet中選中fmod項(xiàng)目的3D事件,ovrride attenuatio勾選上則是設(shè)置聲音的播放范圍。在Play Event中設(shè)置object start則這個(gè)事件在unity運(yùn)行的時(shí)候就會(huì)播放,不過只在設(shè)置的播放方位內(nèi)播放。這時(shí)候在unity運(yùn)行的時(shí)候,是聽不到聲音的,因?yàn)闆]有添加監(jiān)聽腳本。在正方體下添加FmodStudioListener腳本,然后移動(dòng)正方體到球體的播放范圍內(nèi),這時(shí)候就能聽到聲音了,將正方體移出白色線圈外,這時(shí)候就聽不到聲音了。
5.聯(lián)調(diào)
fmod中的聯(lián)調(diào)能夠在unity運(yùn)行的時(shí)候去調(diào)節(jié)事件中的參數(shù),是聲音達(dá)到音樂制作者想要的效果。
在unity菜單欄中的Edit選項(xiàng)下的Project?Settings中的Player?Settings里。如下圖,

將Run In BAckground勾選上 ,這樣子在切換應(yīng)用的時(shí)候unity還是能夠保持運(yùn)行,這時(shí)候打開unity中應(yīng)用到的fmod項(xiàng)目,

點(diǎn)擊最下方的Live Update Off,這時(shí)候按鈕變綠且變成Live Update On,表示已經(jīng)進(jìn)入聯(lián)調(diào)模式。
