Today we’re looking at reverb zones and how to set them up in unity using Wwise. Reverb zones are an extremely important part of game audio, as these are what really makes a space become “real”. When you’ve set up multiple different reverb zones for multiple different areas in a level, immersion is sure to be increased, since you can hear the acoustic differences of each environment. Let’s take a look at how to achieve this effect!
Wwise Things First!
The first thing I did, was to make a random container with footsteps (these are the only sounds that are going to be affected by the reverb zones today). I’ve applied a tiny bit of pitch randomization, but that’s about it. One important note before we dig further… every sound you want to be affected by the reverb zones needs to have a collider (or trigger) on it for it work! Just keep this in mind when going forward. In this case, my character has a collider on him, and that is also where the sounds are being triggered from.
Next up we need to create the different reverbs for the different rooms. First, we need to create an “Audio Bus” in the Master-Mixer Hierarchy… call this “Reverb”. Under the “Reverb” audio bus, create an “Auxiliary Bus” for each reverb that you need. You can see how I’ve set this up in the picture below. Keep in mind this is a very small project, so it isn’t set up well in terms of memory management and so forth.
Inside each of these aux busses we to apply the wanted reverb effect on each of them. So for the Bathroom, we would need to find a reverb that sounds like a small tiled room and edit it as needed. When clicked on an aux bus, you need to navigate over to the “Effects” tab (see picture below), and click the “>>” icon to find the wanted effect. To edit a preset, press the “…” at the end (circled in red).
That’s almost it for the Wwise side of things, but there is one more important thing we need to before heading into Unity. On each sound container, you need to check the “Use game-defined auxiliary sends” button. This allows the sound to the aux busses when passing through the reverb zones.
To Unity We Go!
The setup in Unity is actually incredibly simple. The first things I did was to create a trigger box for the bathroom…
On that trigger box we need to add the “AkEnvironment” component as well as a rigidbody. The reason behind the rigidbody, is because Unity needs it to detect when something else with a rigidbody enters into the trigger. On the “AkEnvironment” component you simply need to select the aux bus with the reverb you need.
Next up I did exactly the same thing for the living room… As you can see on the picture below, the reverb zones are right next to each other but not overlapping or anything, there’s a good reason behind this…
That reason is the “AkEnvironmentPortal” component. What this component does, is that it mixes the two different reverb zones, creating a smooth transition between them. If you look at the picture below, you can see that the trigger box with this component is placed in the doorway between the reverb zones. What you can’t see, is that each of the reverb zones slightly overlap into the portal, making the portal able to detect them (see the highlighted red area in the picture). If the two reverb zones overlapped each other, the portal wouldn’t have been able to detect them, so just keep this in mind.
Here’s a little video to showcase the effect of the work we’ve done today!
- Make a level in Unity with several different rooms/environments and make reverb zones for all of them.
- Experiment with using 3D emitters in reverb zones, try placing the same on in different zones. (Maybe a torch or something?)
- Make a completely linear level in Unity that requires 7 different reverb zones. Make them react to your character sounds only. Make sure that all the portal sound good and that you can walk straight from “room” 1 to “room” 7 without any hiccups!