3.3 Listener Relative Routing


3.3) Listener Relative Routing



As in the real world, Objects in a game make sounds, like the footsteps of the enemy approaching. Anything in the game that makes a sound is conceptually referred to as an Emitter, anything that listens is called an (Audio) Listener. Emitters and Listeners are connected to Game Objects that have x, y and z coordinates, as well as other information to indicate the direction the Game Object is facing. Wwise uses all this information to effectively set Properties such as Volume and Pan to achieve the appropriate settings for the Volume and Pan Properties of these sounds based on the spatial relationship between the Emitter and the Listener. All of this is achieved instantly and these Properties are constantly being updated as the spatial relationships change when the various Game Objects move around. Because these decisions are based on the positions relative to a Listener within the scene, this type of Property is known as Listener Relative Routing.

Using Listener Relative Routing does not mean that you, the Technical Sound Designer is taken out of the equation. In fact, you must make important decisions that provide a framework for how you would like Wwise to react based on those spatial relationships. For example, you could describe how quickly you want a sound to fade out based on how far away the Emitter is from the Listener. But before talking about that in more detail, let’s cover the different options for Listener Relative Routing.

Pic01 Explosions

Pic02 Listener Relative Routing

Pic03 3D Spatialization Mix

  1. To best show what is possible, import the sounds for the exploding cars into the Wwise project.

    Navigate to the location of the sound files folder for this course provided by the tutor called PlatformerSoundfiles > Fx > Explosions, choose the Files with the names platformer_explosion_large_ST01.wav to …-ST03.wav and import them into your Wwise project.

    Keep your project organized! Your Actor-Mixer Hierarchy should look like this. (Pic01 Explosions) You will implement quite a lot of of sound effects with different Positioning Properties, due to different gameplay needs for the various sound elements.

  2. Open the Positioning Tab for the explosions Actor-Mixer to only affects the explosions’ Positioning for now.

    Click Override Parent. What you ideally want to achieve is that as the Player Character and the Scene Camera move away from an explosion, the position of the Emitter sticks to the x, y and z coordinates of the exploding car’s Game Object and the sound gets a little quieter. Therefore you need to make sure that the box for Listener Relative Routing is checked. You can now choose, what 3D Spatialization for these sounds should be like. This Property specifies whether the Positioning of the Emitter is calculated to simulate movement within a 3D space. When set to Position or Position + Orientation, movement of the Emitter is reflected by a sound being heard through specific speakers within the listening environment. With Position + Orientation, the sound’s multichannel content also rotates with respect to the relative orientations of the Emitter and Listener. Orientation only has an effect with multichannel input files. When set to None, the source is panned according to the Speaker Panning setting. (Pic02 Listener Relative Routing)

  3. The last thing you are going to check is, if the Speaker Panning / 3D Spatialization Mix is set to 100.

    This means that this Wwise Object is 100% spatialized through the Position + Orientation relationship between Emitter and Listener. In most cases this is exactly what you want. In very specific creative circumstances a Technical Sound Designer could use the Speaker Panning / 3D Spatialization Mix Property to change Spatialization at runtime, blending smoothly between Speaker Panning and Listener Relative Spatialization. (Pic03 3D Spatialization Mix )

  4. Now go to the Events Tab in the Project Explorer and look for the Play_explosion_large Event.

    Create a Play Action with the explosions_large Random Container as target. Then assign it to the Sfx SoundBank, generate it and Play the game. As the Player Character jumps on a green car, or wherever the explosion is implemented, the Event is called and the Play Action plays back an explosion sound. As the Player Character moves further away to the right side of the Emitter, you should hear clearly that the perceived position for the Emitter changes further to the left side.