【Unity】3.5 導入音頻文件

分類:Unity、C#、VS2015 less

建立日期:2016-04-05 工具

1、簡介

音頻文件 (Audio File) 資源的選擇原則應該以無端障地流暢運行爲宗旨。下面列出了經常使用的音頻文件。 oop

.AIFF 在導入時轉換爲未壓縮的音頻,最適合短音效。 性能

.WAV 在導入時轉換爲未壓縮的音頻,最適合短音效。 編碼

.MP3 在導入時轉換爲 Ogg Vorbis,最適合較長的音樂曲目。 orm

.OGG 壓縮的音頻格式,最適合較長的音樂曲目。 對象

導入音頻文件到Unity中時,能夠選擇其最終格式並將其推入立體聲道或單聲道。 遊戲

要訪問導入設置 (Import Settings),請在工程視圖 (Project View) 中選擇音頻片斷 (Audio Clip),而後在檢視器 (Inspector) 中查找音頻導入程序 (Audio Importer)。在此,您可將片斷 (Clip) 壓縮爲 Ogg Vorbis 格式,並將其推入單聲道或立體聲回放,而後微調其餘選項,如進行很是重要的加載時解壓縮 (Decompress On Load) 設置。 ip

導入音頻文件後,就能夠將音頻文件添加至遊戲對象 (GameObject)。將音頻文件拖入至遊戲對象 (GameObject) 時,此音頻 (Audio) 文件將自動建立一個音頻源組件 (Audio Source Component)。 內存

2、細節描述

使用音頻文件 (Audio Files) 時,須要注意如下細節。

一、原生 (Native) 和壓縮 (Compressed)

Unity中的音頻能夠是原生 (Native) 或 壓縮 (Compressed) 音頻。Unity 支持大部分常見格式。默認模式爲原生 (Native),即導入原始文件中的音頻數據時,不對其作任何更改。可是,Unity 也可在導入時只啓用導入程序中的壓縮 (Compressed) 選項壓縮音頻數據。

原生 (Native) 和壓縮 (Compressed) 模式的區別以下:

  • 原生 (Native):原生(例如.wav文件、.aiff文件等)適用於短音效。這類音頻數據容量較大,但無需在運行時對聲音解碼。
  • 壓縮 (Compressed): 音頻數據容量較小,但須要在運行時對數據進行解壓縮,這將產生處理開銷。Unity會將音頻編碼爲 Ogg Vorbis(Mac/PC/控制檯 (Consoles))或 MP3(移動平臺),具體取決於定位。

若是但願得到最佳音質,請提供 WAV 或 AIFF(包括 PCM 數據)等未壓縮格式的音頻,讓 Unity 爲你進行編碼。若是你只定位 Mac 和 PC 平臺(包括獨立式和網頁播放器兩種),則導入 Ogg Vorbis 文件不會下降質量。可是,在移動平臺上導入時,將 Ogg Vorbis 和 MP3 文件從新編碼爲 MP3 文件會對音質有輕微影響。

二、音頻源 (Audio Source)

Aud音頻源 (Audio Source) 在場景中播放音頻片斷 (Audio Clip) 。若是音頻片斷 (Audio Clip) 爲三維片斷,則源在給定位置進行播放並會隨着距離而衰減。音頻能夠在揚聲器之間散播(散播 (Spread))並在三維與二維之間變形(平移級別 (PanLevel))。這可使用衰減曲線 (falloff curve) 隨着距離進行控制。此外,若是偵聽器處於一個或多個混響區域 (Reverb Zone)內,則會對源應用混響。(僅限專業版)能夠將各個過濾器應用於每一個音頻源 (Audio Source),以得到甚至更豐富的音頻體驗。

下面描述了與音頻源相關的屬性及功能。

  • 音頻片斷 (Audio Clip):對將播放的聲音片斷文件的引用。
  • 靜音 (Mute):若是啓用,聲音會進行播放,但會靜音。
  • 繞過效果 (Bypass Effects):這是用於快速「繞過」應用於音頻源 (Audio Source) 的過濾器效果。關閉/打開全部效果的方便途徑。
  • 喚醒時播放 (Play On Awake):若是啓用,聲音會在場景啓動時開始播放。若是禁用,須要在腳本中使用 Play() 命令啓動它。
  • 循環 (Loop):啓用此項可以使音頻片斷 (Audio Clip) 在達到結尾時循環。
  • 優先級 (Priority):肯定此音頻源 (Audio Source) 在場景中共存的全部音頻源 (Audio Source) 間的優先級。(優先級 (Priority):0 = 最重要。256 = 最不重要。默認 = 128。)。將 0 用於音樂軌道可避免它偶爾換出。
  • 音量 (Volume):與音頻偵聽器 (Audio Listener) 相距一個世界座標單位(一米)處的聲音高低程度。
  • 音調 (Pitch):因爲音頻片斷 (Audio Clip)減慢/加快而造成的音調變化量。值 1 爲正常播放速度。
  • 三維聲音設置 (3D Sound Settings):音頻片斷 (Audio Clip) 爲三維聲音時應用於音頻源 (Audio Source) 的設置。
  • 平移級別 (Pan Level):設置三維引擎對音頻源 (Audio Source) 的影響程度。
  • 散播 (Spread):設置在揚聲器空間中相對於三維立體聲或多聲道聲音的散播角度。
  • 多普勒級別 (Doppler Level):肯定對此音頻源 (Audio Source) 應用的多普勒效應量(若是設置爲 0,則不該用任何效應)。
  • 最小距離 (Min Distance):在最小距離 (MinDistance) 內,聲音會保持爲可能的最高音量。在最小距離 (MinDistance) 外,它會開始衰減。增大聲音的最小距離 (MinDistance) 可以使其在三維世界座標中「更大聲」,減少它可以使其在三維世界座標中「更安靜」。
  • 最大距離 (Max Distance):聲音中止衰減處的距離。超過此點,它會保持爲與偵聽器相距最大距離 (MaxDistance) 處的音量,不會再衰減。
  • 滾降模式 (Rolloff Mode):聲音的下降速度。值越高,在聽到聲音以前便必須越接近偵聽器。(這由一個圖形肯定)。
  • 對數滾降 (Logarithmic Rolloff):在接近音頻源 (Audio Source) 時,聲音較高,可是在遠離對象時,它會以極快速度下降。
  • 線性滾降 (Linear Rolloff):離音頻源 (Audio Source) 越遠,能夠聽到的聲音越少。
  • 自定義滾降 (Custom Rolloff):來自音頻源 (Audio Source) 的聲音的行爲取決於設置滾降圖的方式。
  • 二維聲音設置 (2D Sound Settings):音頻片斷 (Audio Clip) 爲二維聲音時應用於音頻源 (Audio Source) 的設置。
  • 二維平移 (Pan 2D):設置引擎對音頻源 (Audio Source) 的影響程度。

列出這些屬性的目的是爲了弄明白英文單詞屬性的含義。

三、音頻偵聽器 (Audio Listener)

音頻偵聽器 (Audio Listener) 充當相似於麥克風的設備。它從場景中的任何給定音頻源 (Audio Source) 接收輸入,並經過計算機揚聲器播放聲音。對於大多數應用程序,最有意義的是將偵聽器附加到相機 (Camera)。若是音頻偵聽器 (Audio Listener) 處於混響區域 (Reverb Zone) 邊界內,則會對場景中的全部可聽見聲音應用混響。(僅限專業版)並且,音頻效果 (Audio Effect) 能夠應用於偵聽器,而且將應用於場景中的全部可聽見聲音。

你的場景中只能有一個音頻監聽器 (Audio Listener),而且監聽器一般附屬於主相機 (Main Camera)。

四、音頻片斷 (Audio Clip)

音頻片斷 (Audio Clip) 包含音頻源 (Audio Source)。 Unity 支持單聲道、立體聲和多聲道音頻資源(最多八個聲道)。Unity 能夠導入的音頻文件格式包括 .aif、.wav、.mp3 和 .ogg 。Unity 還能夠導入 .xm、.mod、.it 和 .s3m 格式的 tracker modules(跟蹤器模塊)。跟蹤器模塊資源的行爲方式與 Unity 中的任何其餘音頻資源相同,不過資源導入檢視器中不提供波形預覽。

任何導入至 Unity 的音頻文件均可在腳本中找到其音頻片斷 (Audio Clip) 的實例,它其實是一個實用的音頻數據存儲工具。

  • 音頻格式 (Audio Format):運行時用於聲音的特定格式。
  • 原生 (Native):此選項以較大文件大小爲代價提供較高質量,最適合於很是短的聲音效果。
  • 壓縮 (Compressed):壓縮可生成較小文件,可是與原生音頻相比質量有所降低。此格式最適合於中等長度聲音效果和音樂。
  • 三維聲音 (3D Sound):若是啓用,聲音會在三維空間中播放。單聲道和立體聲聲音均可以進行三維播放。
  • 強制單聲道 (Force to mono):若是啓用,則音頻片斷會降混爲單聲道聲音。
  • 加載類型 (Load Type) Unity:在運行時用於加載音頻資源的方法。
  • 加載時解壓縮 (Decompress on load):音頻文件將在加載以後當即解壓縮。將此選項用於較小的壓縮聲音可避免動態解壓縮的性能開銷。請注意,加載時解壓縮聲音使用的內存比保持聲音處於壓縮狀態時大約多十倍,所以請勿將此選項用於大型文件。
  • 在內存中保持壓縮狀態 (Compressed in memory):使聲音在內存中保持壓縮狀態並在播放時解壓縮。此選項具備少許性能開銷(尤爲是對於 Ogg/Vorbis 壓縮文件),所以僅將其用於加載時解壓縮會使用過多內存量的較大文件。請注意,因爲技術限制,在使用 FMOD 音頻的平臺上,此選項對於 Ogg Vorbis 資源會無提示地切換爲從光盤進行流式處理 (Stream From Disc)。
  • 從光盤進行流式處理 (Stream from disc):直接從光盤對音頻數據進行流式處理。此選項使用的內存一般是文件大小的一小部分,所以對於音樂或其餘很長的音軌十分有用。出於性能緣由,一般建議一次僅從光盤對一個或兩個文件進行流式處理,不過能夠從容處理的流數量取決於硬件。
  • 壓縮 (Compression):應用於壓縮片斷的壓縮量。 能夠在滑塊下查看有關文件大小的統計信息。調整此值的一個好方法是將滑塊拖動到保持播放「足夠良好」、同時文件小到足以知足分發要求的位置處。
  • 硬件解碼 (Hardware Decoding):(僅限 iOS)在 iOS 設備上,可使用 Apple 的硬件解碼器,從而在解壓縮過程當中產生較小的 CPU 開銷。有關更多信息,請查看平臺相關詳細信息。
  • 無縫循環 (Gapless looping):(僅限Android/iOS)在壓縮無縫循環音頻源文件(採用非壓縮 PCM 格式)時使用此選項可確保在對接處保持完美的連續性。標準 MPEG 編碼器在循環點處引入了一個較短無聲期,這可做爲短暫的「嘀嗒」或「嘭嘭」聲聽見。

音頻片斷(Audio Clip)必須與音頻源 (Audio Sources) 和音頻偵聽器 (Audio Listener) 配合使用纔可生成聲音。將片斷添加至遊戲中的對象時,會將音頻源 (Audio Source) 組件添加至含有音量 (Volume)、音高 (Pitch) 等許多其餘屬性的對象。播放源 (Source) 時,音頻偵聽器 (Audio Listener) 可"聽到"範圍內的全部源,再將這些源組合起來,聲音便可經過揚聲器發出。

五、音軌模塊

音軌模塊 (Tracker Modules) 文件與 MIDI 文件有許多類似之處。音軌是包含什麼時候彈奏樂器、音高和音量等信息的曲譜,而後以此建立原始曲調的旋律和節拍。

可是,MIDI有一個缺點,音質依賴於音頻硬件中的可用音色庫,所以,MIDI 音樂的音質會因使用的計算機不一樣而不一樣。

相比之下,音軌模塊既包括高質量的PCM示例,又不受所使用的音頻硬件的影響。

(1)支持的格式

Unity可支持四個最多見的模塊文件格式,即 Impulse Tracker (.it)、Scream Tracker (.s3m)、擴展模塊文件格式 (Extended Module File Format)(.xm) 和原始模塊文件格式 (original Module File Format) (.mod)。

(2)使用音軌模塊 (Tracker Modules) 的優點

音軌模塊文件不一樣於主流的 PCM 格式(.aif、.wav、.mp3 和 .ogg),此文件能夠很是小,但不會對音質形成影響。你可調節一個聲音樣本的音高和音量(而且可運用其餘效果),因此,其本質上是一種可播放曲調的「樂器 (instrument)」,還可節省錄製完整曲調所需的開銷。所以,將音軌模塊應用於遊戲,可幫助解決音樂和下載大文件等問題。

相關文章
相關標籤/搜索