unity AudioToolkit 音頻工具包的簡介+使用方法

 

什麼是Audio Toolkit?

簡而言之,ClockStone Audio Toolkit是一套Unity工具,可以幫助您:

  • 輕鬆管理項目的所有音頻資產。讓您的音頻藝術家配置音頻屬性,如音量,隨機音高,漸變等 - 所有這些都來自Unity檢查器。
  • 以最簡單的方式播放腳本代碼中的音頻 - 通過調用具有唯一音頻ID的靜態函數:AudioController.Play(“MySoundEffect1”);
  • 或者,您可以使用ExampleBehaviour目錄中提供的組件來觸發音頻而無需任何腳本(例如PlayAudio組件)
  • 根據檢查器中音頻藝術家設置的音頻配置,MySFX可以是簡單的聲音文件,也可以是更復雜的音頻行爲。請注意,Unity所需的所有必要音頻對象與AudioSource組件將自動創建。

它不是什麼

Audio Toolkit不是一個單獨的音頻引擎。它是使用Unity內部音頻引擎(FMOD)播放和管理音頻的一組非常方便的工具。它支持Unity提供的所有功能,但也受到相同的限制。

爲什麼你不應該直接使用Unity的AudioSource來播放音頻

通過使用AudioSource設置預製件,您有很多理由不應播放音頻:

  • 如果他/她必須在項目的資產層次結構的許多不同位置瀏覽數百個對象,只是爲了調整基本參數(如音量或隨機變量),您的音頻藝術家就會發瘋。
  • 您不希望程序員關心音頻應該如何發聲 - 他們只需要觸發某個音頻ID,而音頻藝術家就會定義實際播放的內容
  • 如果經常觸發很多聲音,那麼對於性能尤其如此,尤其是在移動平臺上。Audio Toolkit使用一種稱爲“池”的方法來快速創建和銷燬音頻對象,同時避免了內存問題。

Audio Toolkit是一個完整的解決方案

該工具包旨在解決與播放聲音和音樂相關的所有問題(在Unity基礎聲音引擎的限制範圍內)。不再需要使用具有AudioSource組件的對象。Audio Toolkit是舊系統的完全替代品,並不會以任何方式限制您的聲音設計。它只是幫助您更快更輕鬆地到達那裏!
Toolkit支持所有官方Unity平臺(包括PC,Mac,iOS,Android等)。它可以與C#或Java腳本一起使用。

 

音頻工具包功能

音頻類別

  • 按類別定義音頻資產
  • 設置屬性,例如整個類別的音量,可在運行時調整並影響所有播放的音頻
  • 類別可以是構成子類別樹的其他類別的父級
  • 設置特殊屬性,例如每個類別的音量滾降或多普勒效果
  • 將Unity 5音頻混音器分配到類別以實現例如音頻閃避

音頻設置(按音頻項目)

  • 指定音量,音高,延遲,平移,起始偏移等。
  • 限制同時播放相同類型音效的數量
  • 定義兩個幾乎同時播放的聲音只播放一次的時間間隔。這可以防止在這種情況下產生不必要的聲音僞影
  • 設置3D聲音的最小/最大距離
  • 自動淡入和淡出
  • 隨機音高或音量
  • 在子項級別上也可以指定音量,音高等參數,並可以在音頻項級別批量更改它們
  • 將設置從一個項目複製/粘貼到另一個項目

音頻播放

  • 播放環境音頻效果(沒有特定位置)
  • 在指定的3D位置播放音頻
  • 播放音頻,用於移動物體
  • 使用可選的淡入/淡出暫停/取消暫停
  • 播放多個自定義音效的無間隙鏈
  • 預定的聲音效果停止(可選淡出)
  • 安排播放無間隙音頻效果鏈

音頻行爲

  • 將多個音頻文件分配給一個音頻項目,並在幾個模式之間進行選擇
    • 隨機
    • 隨機但兩次不一樣
    • 序列
    • 兩個或所有聲音效果同時發生
    • 使用可選的交叉淡入淡出循環一系列音效
    • 循環序列可以是隨機的
    • 簡介/循環序列
    • Intro / Loop / Outro序列
  • 播放具有可選重疊,隨機延遲或無間隙的音頻文件序列

音樂

  • 用於播放在不同音軌之間自動交叉淡入淡出的音樂的特殊功能
  • 音樂曲目播放列表管理與隨機播放,循環播放等。

氛圍聲音

  • 具有類似於音樂功能的自動交叉漸變的獨立環境聲道

管理

  • 音頻事件日誌,用於跟蹤在哪個時間點觸發的音頻項目
  • 音頻概覽窗口,包含所有可用音頻項目的列表,帶有搜索功能(對於大型項目非常有用)
  • 在一個場景中使用多個AudioController將特定場景與全局使用的資源分開
  • 內存管理:自動從內存中卸載場景特定的音頻

腳本界面

  • 播放功能返回播放相應聲音效果的(poolable)AudioObject的參考。此參考可用於操縱特定音頻效果。(例如停止或淡出)
  • 代表在聲音播放完畢後收到通知
  • 在運行時動態添加或刪除新的音頻項目或類別
  • 支持流式傳輸音頻和從資產包中加載

性能

  • 優化的性能,尤其適用於移動平臺
  • 對象池以避免內存開銷
  • 使用特定於場景的AudioControllers來控制要爲每個場景加載的音頻資源的數量。

 

誰使用Audio Toolkit?

該工具包被認爲是無數商業產品中使用的專業標準解決方案,包括着名遊戲工作室的着名AAA遊戲(遺憾的是,由於法律原因,這些遊戲未被命名)

 

以下是Codemasters的聲明:
“Codemasters在我們的移動遊戲開發中使用Clockstone的Audio Toolkit,因爲它在我們的AAA控制檯遊戲如DiRT,F1和RaceDriver:GRID中增加了Unity3D的許多高級功能。諸如色度控制,動態語音管理,混合類別與組屬性,音高,音量和樣本隨機化,自動淡入淡出,無間隙鏈接和事件記錄等功能與Unity3D的快速週轉相結合,使小型團隊能夠與巨人保持同步; Clockstone的迅速和專業支持使Audio Toolkit更具便宜價值。
- Simon N Goodwin,首席程序員,Codemasters“

 

如何使用:

  • 創建一個名爲“AudioController”的唯一GameObject,並添加了AudioController腳本組件
  • 創建一個包含以下組件的AudioObject預製件:Unity的AudioSource,AudioObject腳本和PoolableObject腳本(如果需要池化)。
    Beschreibung:C:\ SVN_Repositories \ UnityAssetStore \ Assets \ AudioToolkit \ AssetStore \ Screenshots \ PoolableAudioObject.png
  • 然後在此預製件中設置自定義AudioSource參數。接下來,在AudioController中將自定義預製件指定爲“音頻對象”。
    auido toolkit對象預製截圖
  • 使用Inspector在AudioController中創建音頻類別,例如“Music”,“SFX”等。 
    音頻工具包類別截圖
  • 對於腳本要播放的每個音頻,創建一個在相應類別中具有唯一名稱的“音頻項目”。
    您還可以在Unity項目視圖中選擇音頻剪輯列表,然後按“添加所選音頻剪輯”按鈕。這將爲每個剪輯創建一個音頻項目。
    audio toolkit item截圖
  • 根據需要爲每個音頻項創建儘可能多的音頻子項。子項代表實際的音頻文件(Unity AudioClip)。如果指定了多個子項,Audo Toolkit將按隨機或按特定順序選擇音頻剪輯,具體取決於音頻項設置。
    您還可以在Unity項目視圖中選擇音頻剪輯列表,然後按“添加所選音頻剪輯”按鈕。這將爲每個剪輯創建一個子項。
    audio toolkit sup item設置截圖

要播放音頻項目,請調用靜態功能

AudioController.Play(“MyUniqueAudioItemName”)

使用

AudioController.PlayMusic(“MusicAudioItemName”)

演奏音樂。此功能可確保一次只播放一個音樂文件,並根據AudioController實例中的配置自動處理交叉淡入淡出。

 

更多例子:

AudioController.Play(“MySoundEffect1”); 
AudioController.Play(“MySoundEffect2”,新的Vector3(posX,posY,posZ)); 
AudioController.PlayMusic(“MusicTrack1”); 
AudioController.SetCategoryVolume(“Music”,0.5f); 
AudioController.PauseMusic();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章