共用方式為


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