共用方式為


X3DAudio 概觀

X3DAudio 是一種 API,可與 XAudio2 搭配使用,將音效放置在 3D 空間中,以建立相對於相機位置的某個空間點的音效錯覺。特別是,功能 3D 場景的標題會想要使用 X3DAudio。 音效不需要 3D 定位,例如音軌或非定位的環境音效,可能會完全略過 X3DAudio。

接聽程式和發出器

為了在 3D 空間中管理音效,X3DAudio 會採用 接聽 程式和 發出器的概念。 接聽程式和發出器代表任何聽覺 3D 音效的位置,以及這些音效的來源點。

  • 接聽程式定義為空間中的點和方向。 這是 聽到音效的位置。 接聽程式的位置和方向通常與相機的位置和方向相同。 不論標題使用第一人或第三人檢視方塊檢視,都是如此。 接聽程式的位置是以全局座標表示。 請務必注意,這是與發出器 相對 的接聽程式位置,決定如何計算最終喇叭磁片區。
  • 發出器定義為聲音 來源空間中的一個 (或多個) 點。 發出器的位置可以是 3D 空間中的任何位置。 如同接聽程式,發出器的位置是以全局座標表示。 這是與接聽程式 相對 的發出器位置,決定最終喇叭磁片區的計算方式。
  • X3DAudio 使用左側座標。 若要搭配右手座標使用,開發人員必須否定 X3DAUDIO_LISTENER 和 X3DAUDIO_EMITTER 的 OrientTop、OrientFront、Position 和 Velocity 成員的 .z 元素。

除了位置之外,接聽程式和發出器也可以包含速度。 不同于 3D 轉譯引擎,X3DAudio 只會使用速度來計算 Doppler 效果, (它不會用來計算位置) 。

如需接聽程式和發出器的詳細資訊,請參閱 X3DAUDIO_LISTENERX3DAUDIO_EMITTER 結構參考主題。

搭配 XAudio2 使用 X3DAudio

如需 X3DAudio 與 XAudio2 之間的所有互動,請使用下列 X3DAudio 函式。

如需搭配 XAudio2 使用 X3DAudio 的逐步範例,請參閱 如何:整合 X3DAudio 與 XAudio

X3DAudio