3.5 3D Position Automation

 

3.5) 3D Position Automation

 
 

 

You will probably agree by now, that Wwise’s Positioning toolkit offers so many possibilities and use cases for a Technical Sound Designer’s wildest dreams. The last thing in this category is the possibility of 3D Position Automation, which lets Emitter or Listener be automated either randomly in the field of audition, or move along individual paths. You are going to try this out with certain elements of your Platformer Game’s level01 Atmo. But let’s look and listen to some examples of 3D Position Automation in actual video games.

Example01 Horizon Zero Dawn, Guerilla Games 2017

The Atmo for this level section describes a forest in a post-apocalyptic setting. Listen to some of the elements, for example the birds. You can clearly notice that there are multiple sound files for one specific bird, randomly selected at runtime. You can also notice that each time such a bird sound is being played back, it is coming from a different direction with alternating distance to the Player Character. This ultimately makes the forest sound more natural.

Example02 Uncharted4, Naughty Dog 2016

The Atmo for this level section describes a little town in South Africa. As the Player Character stands perfectly still, you can detect quite a lot of movement for the various elements of the Atmo. Listen to the distant plane for example. Playing this game in a surround listening environment, it goes over the player’s head every now and then, following a random predefined path every time it is played back, without there being a Game Object or Actor visible in the scene.

Let’s try to recreate those two examples with elements of your Atmo for the Platformer Game, meaning changing up the Positioning Properties of Containers within our atmo Actor-Mixer Object.

Pic01 Listener with Automation

Pic02 Position Editor

Pic03 Point Source

Pic04 Create a Path

Pic05 Path Start and End Point

Pic06 Path Transition

  1. Select the horn1 Random Container within the traffic Blend Container and listen to its Positioning.

    Example01: Unfortunately you don’t have a specific Game Object or Actor for this sound to give it any position. But wouldn’t it be nice if the car horn came from a different direction each time a sound is being picked by the Random Container, to simulate a more realistic traffic situation?

  2. Click Override Parent in the Positioning Tab and see if the Listener Relative Routing box is checked.

  3. Choose Position for the 3D Spatialization to allow sound to be positioned freely in the field of audition.

  4. Now go all the way down to the 3D Position Property.

    There is a dropdown menu with 3 different options a 3D Position can be applied. Remember, you now don’t have a specific Game Object or Actor for this sound to give it any direction or distance, so only setting Listener Relative Routing won’t affect where the sound is coming from. But since you want the car horn sound being emitted from all around the Listener, you can set Listener with Automation as a way of creating a virtual 3D Position. (Pic01 Listener with Automation).

  5. Click the Automation… Button to the right. The Position Editor View appears.

    It looks very similar to the Speaker Panner View, but has a lot more possibilities. Currently there is one Path created, with a Duration of 5 seconds. That is ok for now. Below that you can see Random Range Properties for a 3D Position around the Listener. (Pic02 Position Editor) Quite convenient! If the value of one Property, say that of Left/Right is set all the way to 100%, the virtual 3D Position for that sound can be anywhere from the left channel all the way to the right channel. Same goes for the Front/Back Property and also for the Up/Down Property for modern day listening environments such as Dolby Atmos. Since there is no Up/Down position for the sound of car horns, they cannot fly or go underground after all, a Random Range of 100% for the Left/Right and Front/Back channels is good. This Random Range for the virtual 3D Position is calculated around the Listener, therefore Listener with Automation. Similar to the Speaker Panner View, the black circle represents the point source for the sound, right in the middle of the Graph View, where it should typically be for such a use case. (Pic03 Point Source).

  6. Below the Paths Property you can find Play Type and Play Mode Options, similar to a Random Container.

    In your case the only Property to check is that Play Mode is set to Step, with Pick new path when sound starts selected. This checkbox ensures, that every new sound picked by the Random Container has a new randomized position in the audible field, defined by the Random Range values.

  7. Play back the horn1 Random Container and listen to its Positioning. Great!

  8. Now, select the heels Object within the shopping Blend Container and listen to its Positioning.

    Example02: Unfortunately you also don’t have a specific Game Object or Actor for this sound to give it any position. But wouldn’t it be nice if the footstep sounds follow predefined paths, as it would be if a normal person was walking up and down the street? All you need is a couple of high heels sounds playing back to back and a few Paths in the Position Editor to make that happen.

  9. Click Override Parent in the Positioning Tab and see if the Listener Relative Routing box is checked.

  10. Again, choose Position for the 3D Spatialization to allow sound to be positioned freely in the field of audition.

  11. You can now create some new Paths for the footsteps. (Pic04 Create a Path)

    The default Duration of five seconds in between two Path keyframes works fine for your footsteps sequence. Simply drag the black circle representing the point source anywhere in the Graph View. This is the starting position of your Path. Now click anywhere else in this Graph View and create another black circle. This is the end position of your Path. As the sounds are being played back, the virtual 3D Position of the sounds follow the Path from start to end within the Duration of the Path. To not only have one single Path you can create a couple of them, for different walking directions for the footsteps. (Pic05 Path Start and End Point)

  12. The last thing you are going to do now is to change the Play Mode accordingly.

    This means a Continuous selection of a random Path, with the Path selection being on Loop because the heels Container has infinite playback, and a small Transition time in between Path selections. (Pic06 Path Transition)

  13. Play back the heels Object and listen to its Positioning. Great!