1. 程式人生 > >ARCore之路-運動跟蹤之3D聲場(四)

ARCore之路-運動跟蹤之3D聲場(四)

  上節我們已經利用共振音訊(Resonance Audio)SDK實現了3D音效,這只是使用了共振音訊(Resonance Audio)最簡單的特性,共振音訊(Resonance Audio)提供了遠比示例中高階的功能技術特性,特別是模擬房間的引數,可以模擬很多生活中的真實環境特性,本節主要對Room引數、API進行更詳細的瞭解。

一、Room effects

這裡寫圖片描述
  如上圖所示,Room屬性中主要包括Surface Materials 、Reflectivity、Reverb Properties、 Size。

1、Surface materials

  對Room六個聲學表面可以賦與不同的聲學材質,共振音訊(Resonance Audio)共提供了23種不同的材質,我們可以直接選擇城要的聲學材質,每一種聲學材料定義了在不同的頻率下聲波吸收或反射率。例如,Heavy Curtain(厚窗簾) 吸收高頻部分,因些提供一個更乾燥、溫暖聲音的房間特性。Polished Concrete(拋光混凝土)在所有頻率上都會反射更多的聲音能量,從而產生更明亮和更有回聲的房間特性。

2、Reflectivity

  這個引數用來對Resonance Audio Room中聲源的早期反射強度進行調節,這樣使用者就能對他們周圍房間的大小和形狀有一個大致的印象。例如,減少這個引數的值來用來模擬受限小空間的聲音,增加這個值用來模擬空曠空間的聲音。

3、Reverb properties

  這些引數影響Resonance Audio Room的後期混響,它主要包括以下三個引數:   Reverb Gain   這個引數用來調整房間效果的混響增益,這個混響增益不是直接來自聲源的聲波。可以用這個引數來調整混合聲音的“厚重”或“單薄”。例如,如果想讓房間混響變弱,調整Reverb Gain使聲音聽其來更“單薄”。   Reverb Brightness

  混響亮度(Reverb Brightness)用來調節混響中低頻或高頻的數量。Resonance Audio Room可以提供不同頻率的不同混響衰減率,Room的牆面材質對不同的頻率的音訊吸收和反射率是不一樣,就像在真實房間中一樣。可以使用這個引數來調整房間聲音的充盈程度。例如,降低混響亮度,給人一個房間更飽滿的印象,並模擬一個包含許多物體或人的房間的聲音。   Reverb Time   混響時間(Reverb Time)用來調節混響的時間長度,即混響的衰減時間。該值是根據Resonance Audio Room指定的表面材質和房間尺寸計算的混響時間的乘數,可以使用這個引數來對模擬房間的大小進行聲學調整。

4、Room size

  使用x、y和z引數設定Resonance Audio Room的尺寸(以米為單位)。房間尺寸影響房間聲音效果,這個尺寸同時也設定了聲音的邊界,當用戶進入到範圍內時觸發房間聲音效果,或者平穩地從一個Resonance Audio Room切換到另一箇中。

二、Resonance Audio API

  共振音訊(Resonance Audio)提供的主要API類如下:

類說明
ResonanceAudio 這是共振音訊(Resonance Audio)的主要類,它負責共振音訊(Resonance Audio)與作業系統及硬體的互動。
ResonanceAudioAcousticMesh 這個類用來處理Mesh,儲存mesh filter或者terrain的複製風格資訊,以及分配給三角形的表面材質。
ResonanceAudioListener 對Unity AudioListener的增強,提供更多高階的3D聲場的調節引數。
ResonanceAudioMaterialMapper Resonance Audio material mapper可程式設計物件,負責處理GUID到表面材質的對映(這些材質定義了表面的聲學特性)。
ResonanceAudioMaterialMapperUpdater Resonance Audio material mapper updater
ResonanceAudioReverbProbe 共振音訊(Resonance Audio)混響Probe,作為音效的取樣點,這個取樣點會向其周圍的環境發射射線,以此來感知周圍環境的聲學特性並利用這些資訊來計算混響音效。
ResonanceAudioRoom 模擬房間,利用這個模擬房間來模擬真實的音效環境。
ResonanceAudioRoomManager 模擬房間的管理類,管理模擬房間的3D聲場。
SurfaceMaterialDictionary 一個可序列化的字典類,它負責從表面材質到GUID的對映。
ResonanceAudioSource 對Unity AudioSource的增強,提供更多高階的3D聲場的調節引數。

  此外,共振音訊(Resonance Audio)技術還提供了對聲音的混響烘焙(Reverb baking),與對光線進行烘焙一樣,通過設定探針(Probe),可以將聲音特性直接烘焙到環境中,省去實時的音訊處理,降低處理器的壓力。

參考文獻