Freigeben über


Übersicht über X3DAudio

X3DAudio ist eine API, die mit XAudio2 verwendet wird, um Sound im 3D-Raum zu positionieren, um die Illusion von Sound zu erzeugen, die von einem Punkt im Raum relativ zur Position der Kamera kommt. Insbesondere Titel mit 3D-Szenen sollten X3DAudio verwenden. Sounds, die keine 3D-Positionierung erfordern, z. B. Soundtracks oder nicht positionierte Umgebungsgeräusche, können X3DAudio vollständig umgehen.

Listener und Emitter

Um Sounds im 3D-Raum zu verwalten, verwendet X3DAudio die Konzepte von Listenern und Emittern. Listener und Emitter stellen die Position des Hörens von 3D-Sounds und den Punkt dar, von dem diese Sounds stammen.

  • Ein Listener wird als Punkt im Raum und als Ausrichtung definiert. Es ist die Position, an der der Ton gehört wird. Die Position und Ausrichtung des Listeners ist in der Regel identisch mit der Position und Ausrichtung der Kamera. Dies gilt unabhängig davon, ob ein Titel eine First-Person- oder Third-Person-Perspektive verwendet. Die Position des Listeners wird in Weltkoordinaten ausgedrückt. Es ist wichtig zu beachten, dass es die Position des Listeners relativ zu einem Emitter ist, die bestimmt, wie die endgültigen Lautstärken des Lautsprechers berechnet werden.
  • Ein Emitter ist als ein (oder mehrere) Punkte im Raum definiert, von denen ein Sound stammt. Die Position des Emitters kann sich an einer beliebigen Stelle im 3D-Raum befinden. Wie ein Listener wird die Position eines Emitters in Weltkoordinaten ausgedrückt. Es ist die Position des Emitters relativ zum Listener, die bestimmt, wie die endgültigen Lautsprecherlautsprecherlautsprecher berechnet werden.
  • X3DAudio verwendet linkshändige Koordinaten. Zur Verwendung mit rechtshändigen Koordinaten müssen Entwickler das .z-Element der Elemente OrientTop, OrientFront, Position und Velocity von X3DAUDIO_LISTENER und X3DAUDIO_EMITTER negieren.

Zusätzlich zur Position können Listener und Emitter die Geschwindigkeit einschließen. Im Gegensatz zu einer 3D-Rendering-Engine verwendet X3DAudio nur die Geschwindigkeit, um Dopplereffekte zu berechnen (es wird nicht zum Berechnen der Position verwendet).

Weitere Informationen zu Listenern und Emittern finden Sie in den Referenzthemen X3DAUDIO_LISTENER und X3DAUDIO_EMITTER Struktur.

Verwenden von X3DAudio mit XAudio2

Verwenden Sie für alle Interaktionen zwischen X3DAudio und XAudio2 die folgenden X3DAudio-Funktionen.

Ein schritt-für-Schritt-Beispiel für die Verwendung von X3DAudio mit XAudio2 finden Sie unter Vorgehensweise: Integrieren von X3DAudio mit XAudio

X3DAudio