Condividi tramite


Panoramica di X3DAudio

X3DAudio è un'API usata con XAudio2 per posizionare il suono nello spazio 3D per creare l'illusione del suono proveniente da un punto nello spazio rispetto alla posizione della fotocamera. In particolare, i titoli che presentano scene 3D vogliono usare X3DAudio. I suoni che non richiedono la posizione 3D, ad esempio colonne sonore o suoni di ambiente non posizionati, possono ignorare completamente X3DAudio.

Listener ed emettitori

Per gestire i suoni nello spazio 3D, X3DAudio usa i concetti dei listener e degli emettitori. I listener e gli emettitori rappresentano la posizione di qualsiasi suono 3D e il punto da cui tali suoni provengono.

  • Un listener è definito come punto nello spazio e un orientamento. È la posizione in cui viene sentito il suono. La posizione e l'orientamento del listener in genere è uguale alla posizione e all'orientamento della fotocamera. Questo è vero se un titolo usa una vista di prima persona o di terza persona. La posizione del listener è espressa nelle coordinate mondiali. È importante notare che è la posizione del listener rispetto a un emittente che determina come calcolare i volumi finali dell'altoparlante.
  • Un emettitore è definito come uno o più punti nello spazio da cui proviene un suono. La posizione dell'emittente può essere ovunque nello spazio 3D. Come un listener, la posizione di un emittente è espressa nelle coordinate del mondo. Si tratta della posizione dell'emittente rispetto al listener che determina il modo in cui vengono calcolati i volumi finali dell'altoparlante.
  • X3DAudio usa le coordinate a sinistra. Per usare con coordinate di destra, gli sviluppatori devono negare l'elemento .z dell'elemento OrientTop, OrientFront, Position e Velocità dei membri di X3DAUDIO_LISTENER e X3DAUDIO_EMITTER.

Oltre alla posizione, i listener e gli emettitori possono includere velocità. A differenza di un motore di rendering 3D, X3DAudio usa solo la velocità per calcolare gli effetti Doppler (non viene usato per calcolare la posizione).

Per altre informazioni sui listener e sugli emettitori, vedere gli argomenti di riferimento sulla struttura X3DAUDIO_LISTENER e X3DAUDIO_EMITTER .

Uso di X3DAudio con XAudio2

Per tutte le interazioni tra X3DAudio e XAudio2, usare le funzioni X3DAudio seguenti.

Per un esempio dettagliato dell'uso di X3DAudio con XAudio2, vedere Procedura: Integrare X3DAudio con XAudio

X3DAudio