Adaptive Music簡介 Featured

  • 03 四月 2018 |

更新了年初VR遊戲的開發總結(點這裡查看文章),正是上個項目中遇到的狀況才讓我嘗試通過FMOD來解決當時遇到的問題。

本篇是總結動態音樂在Unity里的應用優勢,Demo是為了申請馬步計劃而使用Unity做的,為了方便各位查看,錄屏版發佈在這裡

Headline

下面將從該Demo的製作過程講起,最後引出Adaptive Music究竟為遊戲提供了哪些便利。

Demo場景很簡單,一條筆直的大道,道路左邊立著16塊公告板,每塊板的區域以綠色和粉紅條標記,當角色移動到公告板所對應的區域時音軌的組合與音量變成特定的狀態,連同初始狀態在內一共16個音軌組合類型。玩家通過“WAD”三個鍵前進或左右轉身,穿梭在各種音軌組合之間。

先來看製作過程:

1、在Logic Pro里寫16小節的簡單旋律,做簡單的混音之後,按照樂器功能分成7軌分別輸出wav檔案;

LogicProTrack

2、將wav檔案分別導入FMOD做動態化處理

exportwav

FmodImport3、因為遊戲計劃發佈成網頁版,所以刪除FMOD默認3D空間模擬插件(就是下面這張圖)。

Fmod 3d Sp

4、添加要在Unity中調用的參數,並且設定循環區域、拍速和Automation動態。

Fmod Automation

5、Build出工程文件並導入Unity,在場景中設定好參數,實現場景中計劃的目標。這時候看Unity的Mixer面板是非常單純的。

 SimpleMixer

6、對比

如果你熟悉Unity的音效設定,想想看,如果使用代碼和Snapshot功能要做出當前Demo里的16種音樂Adaptive的狀態需要用自帶的Mixer做多少事情....下圖是我自己嘗試實現后的Mixer狀態,而達成這種狀態之後如果你要調試音效的話……噩夢開始了

UnityMixer

7、總結

Adaptive Music基本上有兩種實現方式,一種是不同分軌用音量做Automation,另一種則是同一軌道的不同位置做Transition,無論是哪一種都需要在寫音樂的時候考慮到動態化的需求並通過分軌或添加間奏的方式降低程序端代碼的複雜度。

對於那些需要非線性BGM的遊戲類型、場景、角色音效等方面,動態化的音樂有非常多可發揮的空間。

 

後記:原本是想要發佈成webGL版本讓大家可以直接在網頁里就能玩。但意外發現了Unity無法打包成網頁版的這個bug居然從去年的2017.2經歷了1個大版本和4個小版本的迭代后在當前2018.1.b版中依然存在(雖然每版中報錯的模塊都不一樣……),這使得原計劃4月2日上線延後到了今天,這三天里我嘗試在mac和win平台上的多個版本的unity里輸出網頁版均報錯,改代碼規範,調發佈參數、改發佈平台……最後在得到官方答復后,只能依照建議退一步發佈為PC版和Mac版,由此帶來的困擾還望各位見諒。
Last modified on 週一, 06 八月 2018 11:14
back to top