The audio listener picks up everything that emits sound in the game and sends it to your computer’s sound output. Whether you place it on the character or on the camera, the choice you make should reflect on the type of experience you want your players to have. In this post, we will mainly focus on cases with third person characters.
Chapters:
- On the character
- On the character in the direction of the camera
- On the camera
- On the camera, but with the attenuation of the character
On the character
Placing it on the character makes you hear everything your character would hear. This does not take into account where the camera may be. If something happens on the left of the character, you will hear it on your left. If the camera is facing the front of the character, you will still hear it left, but see it on the right of your screen.
This placement could be used when the camera stays behind the character. Or when you want the player to be in the character’s head.
On the character in the direction of the camera
By placing the listener on the character and in the direction of the camera, you allow the player to hear what they see.
Using the character as the point of hearing makes sense. The player gets to be fully immersed and stand in the character’s shoes. Zelda Breath of The Wild, among others, is a good example of this.
One thing that will feel off at times is when an audio emitting object stands between the character and the camera. As a player you will see it (orange sound) at the forefront, but hear it in the back. To elaborate: the listener is in the direction of the camera. Everything that happens between the character and the camera is back. Everything that happens in front of the character (regardless of the direction the character is looking at), is front.
To combat this, you could put a (slight) low pass filter on every sound that happens behind the listener. This way anything between the listener and the camera will sound the same as anything that happens before the listener. The reason this works is because we have a hard time distinguishing sounds that are played in front or behind us. By adding a filter on sounds behind the camera, we will quickly adapt our sense of direction.
On the camera
Having the listener on the camera means that you hear everything from the point of view of the camera. This is one of the most used cases. Unity even puts their listener by default on the camera. It makes sense too, because the most intuitive thing is to hear what you see. A lot of third person games do this, such as Assassin’s Creed or The Sims 4.
On the camera, but with the attenuation of the character
In my opinion, this method makes the most sense. You place the listener on the camera, but apply the attenuation that the character would hear on the camera. Simply put: this gives you the panning of the camera with adjusted volumes according to where the character is standing. You can easily do this with Fmod and newer versions of Wwise. For Fmod look for the term Set Listener Attributes. For Wwise look for the term Distance Probe Game Object.
An example of this is Torchlight III. You will hear that the panning of sounds corresponds to what you see through the camera. And everything which happens around the character is louder, due to the attenuation.
It’s important to figure out what you want the player to hear. Listen to similar games and make notes. What do you like? What do you want to hear differently? Do you feel fully immersed? Maybe you want to change the audio listener’s position throughout your game. Ultimately, it all depends on what type of experience you want to give the player.