ADXTutorials

3D -> 2D Audio Transitions

Introduction

In previous blogs, we’ve looked at setting up 3D audio systems to deal with topics such as spatialisation and occlusion. In this month’s blog, we will look at transitioning a 3D spatialised sound to 2D. This can serve many purposes, such as moving a spatialised character’s voice from being in the player’s world to being in the player’s headset or mimicking the effect of a sound losing its directionality in a big reverberant field.

3D to 2D Transition

To get started, we simply need some dialogue audio to test with. The basic setup is as follows:

  • Create a Polyphonic Cue and name it “Cue_TestDialogue
  • In Cue_TestDialogue
    • Create 2 new Tracks
      • Name them “Track_2D” and “Track_3D”
    • Import the same test dialogue Material to both Tracks
      • Name the copies “Material_2D” and “Material_3D” accordingly

Next up, we need to enable the relevant 3D audio processing and create the necessary AISAC’s to control our sound playback.

  • Rename AisacControl_00 to “AisacControl_Distance”
  • On Track 2D and Track 3D
    • Create an AISAC for each
      • Name = “Aisac_2D” and “Aisac_3D” accordingly
      • Control = AisacControl_Distance
      • Graph Type = Volume
    • Finesse the curves so that they transition smoothly

25-1

  • In Cue_TestDialogue
    • Select the 3D Positioning tab in the Inspector
      • Set AISAC Control → Distance to AisacControl_Distance
      • Set Attenuation Distance
        • Min = “20”
        • Max = “100”
      • On Material_3D, set Pan Type to 3D Positioning
      • On Material_2D, ensure Pan Type is set to Pan [5.1]

25-2

With this set up as-is, we can already have some impressive dynamic behaviour. And thanks to the power of the Session Window, we can test the finer details of our system directly within Atom Craft.

Of course, the setup outlined above does not achieve our initial aims, so let’s look at how we can expand this system by employing some effects processing.

Filtering and DSP Bus

For our test case, let’s assume we are working on an FPS with NPC characters that relay information to the player. It is going to be a fast-paced game, and so the player will likely not want to stand around listening to NPC’s for very long. By moving the sound from 3D space to 2D, and applying some DSP, we can create the effect of the sound seemingly coming from the player’s communication device. This will allow the player to explore without missing out on key information.

  • In DspBusSetting_0, create 2 new DSP buses
    • Name them “Bus_2DEffects” and “Bus_3DEffects”
    • Set both to send full signal to MasterOut
  • In BusMap_Default,
    • Set DspBusName1 to Bus_2DEffects
    • Set DspBusName2 to Bus_3DEffects
  • In Cue_TestDialogue
    • Set BusSend0 to “0.00”
    • Then in Track_2D
      • Enable BusSend1
    • And finally, in Track_3D
      • Enable BusSend2
    • In Bus_2DEffects, add some effects such a Bandpass, Distortion, and Limiter
    • Tweak the effects’ parameters to taste

25-3

Heavy use of bandpass filtering and a touch of distortion can create the impression of a communication device, such as a mobile phone. How heavily we want to lean into these sorts of effects depends on the feel of the game we are designing for. In the example above, Chorus was also used for a more sci-fi element to the mix.