Unity中音效插件

這一篇文章是3月初開始寫的初稿的,在聽了公司邀請Wwise的人來演講後,繼續完善這篇文章。首發於(http:zhutaorun.win)

一.爲什麼使用第三的插件

  • 因爲unity本身做的音效系統做的不夠好,對於了很多的聲音效果確實沒辦法滿足,需要更多複雜的效果原生滿足不了
  • 因爲第三插件,讓程序與音效師之間的配合更方便多了,原來的合作方式是程序需要很多的工作,而音效師能夠發揮的空間有限,準確的說,Wwise提供了一套音效師與程序配合的流程
  • 方案成熟,以Wwise爲例,從事音效這塊很多年,2000年公司成立,到2015年王者榮耀使用,很多項目選擇使用,端遊守望先鋒

簡要

Unity3d隨着版本進度更新,關於音效部分。還是原來的2D音效,以及3D音效。Unity提供的音效播放,還有第三方提供的解決方案,FMode和Wwise.

如何在Unity中使用Fmode Studio
Unity中FMOD音插件使用
Wwise
音頻引擎爲什麼會推薦使用Wwise

二.實踐部分

個人是把Wwise官網的課程上101課程完成了。大學時候上過數字音頻的,看到拉桿有點熟悉的感覺。重新把官方的Cube加入遊戲音效的過程,確實很好。
對於程序只要約定對應的音效的事件名稱。
對於音效資源文件的優化,因個人版本限制,並沒有完成

三.課程內容

主講人是程序出生,做音頻程序開發的。2006年加入Wwise,目前負責大中華地區的推廣和培訓,內容概況

1.工作上分工合作

設計師
  • 裝包 指定事件裝入指定包SoundBank
  • 分包 按照玩法、內存和IO需要合併或拆分包
  • 流播放 設定音樂等長文件從磁盤串流播放
  • 增量更新 按項目發佈計劃合理加包或複用
程序員
  • 設定加載路徑,加載包
    • SetBasePath(),AddBasePath()
    • LoadBank()【阻塞vs.異步】
  • 拆分媒體後的加載
    • PrepareEvent()
    • PrepareBank()
  • 可選 自定義底層IO

2.Wwise優化

基於音效的優化需要音效設計師和程序配合

a.包體優化

音效師部分
* 設尺寸超標預警
* 設計編解碼方案,Vorbis編碼格式可讓音效包體縮小20倍
* 按平臺太取捨內容
* 採用合成和MIDI

b.內存

音效師部分
* 設計分包
* 設計流播放
程序部分
* 設計內存池和閥值,(超出的時候,根據音效優先級,低級卸載)
* 加載/卸載包
* 可選定製管理器

CPU

音效師部分
* 設音量下限
* 設計發聲數上限
* 設計優先級
* 設計虛聲部行爲
* 優化效果器
程序部分
* 解碼緩存
* 線程優化

I/O

程序部分
* 可選定製平臺底層I/O
* 可選定製流管理器

監測與調試

音效師部分
* 聯機到遊戲中監測
* 分析Profiler數據
程序部分
* 聯機到遊戲中監測
* 錄製Profiler數據
* 錄製音效
* 性能回調
* 可選自定義日誌

小結

  • 只要在同一局域網絡下,移動設備可以聯機測試,這點很好
  • Profiler記錄文件,交由音效師來查找問題,在官方計時支持時也是需要提供記錄文件
  • 對於分包設計,則需要音效師對於遊戲項目有足夠的瞭解
  • 注意Debug包和release包,在cup佔用上debug包大概有20左右,release包大概0.5左右。
  • 好的音效系統在遊戲體驗上有着極大的區別。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章