Version

menu_open
Wwise SDK 2022.1.12
Rooms and Portals Setup in Wwise

Setting Up a Sound in Wwise

In order to use room reverb on emitter game objects, you need to enable the Use game-defined auxiliary sends check box in the Wwise Authoring tool. The send to the room is applied by Spatial Audio, in addition to any game-defined sends that are requested by the game.

Setting Up a Room Auxiliary Bus in Wwise

Room busses need to be created with the correct positioning options, that is, Listener Relative Routing enabled, 3D Spatialization set to "Position And Orientation", and Use game-defined auxiliary sends enabled. Alternatively, you could create a bus with Preset Room Auxiliary Bus.

The Auxiliary Bus design used with Spatial Audio Rooms and Portals is not fundamentally different than in the traditional modeling of environments. It requires that an Auxiliary Bus be assigned for each Room, mounted with the reverb Effect of the designer's choice, and it is the same bus that is used whether the listener is inside or outside the Room. The only difference is that it should be made 3D by enabling Listener Relative Routing (in the Positioning tab) and setting the 3D Spatialization to either Position + Orientation or Position, as shown in the figure below. This way, Spatial Audio may spatialize the reverberation of adjacent Rooms at the location of their Portal by acting on the Rooms' underlying game object position and Spread.

The Room's reference orientation is defined in the room settings (AkRoomParams::Up and AkRoomParams::Front), and never changes. The corresponding game object's orientation is made equal to the Room's orientation. When the listener is in a Room, the bus's Spread is set to 100 (360 degrees) by Spatial Audio. Thanks to 3D positioning, the output of the reverb is rotated and panned into the parent bus based on the relative orientation of the listener and the Room. This happens because the Auxiliary Bus is tied to the Room's game object, while its parent bus is tied to the listener. The screenshot below shows an emitter, the radio, sending to the Auxiliary Bus Mezzanine2. You can see that a separate game object has been created for this room, Ak_RV_Mezzanine, that is neither the Radio nor the listener (PlayerCameraManager_0).

If, for example, there is a spatialized early reflection pattern "baked" into the reverb (such patterns exist explicitly in the RoomVerb's ER section, and implicitly in multichannel IR recordings used in the AK Convolution Reverb), then they will be tied to the Room instead of following the listener as it turns around. This is desirable for proper immersion. On the other hand, it is preferable to favor configurations that "rotate well". Ambisonic configurations are invariant to rotation, so they are favorable. Standard configurations (4.0, 5.1, and so on), less so. When using standard configurations, it is better to opt for those without a center channel, to use identical configurations for aux busses and their parent, and to set a Focus to 100. In these conditions, with a 4.0 reverb oriented with the Room towards the north, a listener looking at the north would hear the reverb exactly as if it were assigned to speakers directly. A listener looking straight east, west, or south would hear the original reverb but with channels swapped. Finally, a listener looking anywhere in between would hear each channel of the original reverb being mixed into a pair of output channels.

When the listener is away from a room's Portal, Spatial Audio reduces the spread according to the Portal's extent, which seamlessly contracts the reverb's output to a point source as it gets farther away. The Spread is set to 50 (180 degrees) when the listener is midway into the Portal. And, as it penetrates into the room, the Spread is increased even more with the "opening" being carefully kept towards the direction of the nearest Portal.

When mixing sounds into portals, Spatial Audio calculates the distance of the entire path length between the sound source and the listener. This distance is applied to the attenuation curve of each sound before mixing the sound into the room bus so that the relative volumes of sounds with different attenuations are preserved. An additional attenuation applied directly to the room bus is not necessary. If a Room Auxiliary Bus has an attenuation, it will be applied on top of each sounds' attenuation, post-mix, and will serve to further reduce the volume of the reverb or apply additional filtering to the signal that passes through a portal.

The Room game object position is maintained by Spatial Audio, and when the listener is inside a room, at the game object is placed at the same location as the listener. In this case, the attenuation curves, if assigned, are all evaluated at distance 0.

Warning: In the case that a Room Auxiliary Bus has an assigned attenuation, note that in order to let Spatial Audio modify the Spread according to the Portal's geometry, you must not have a Spread curve in your Auxiliary Busses' attenuation settings. Using a Spread curve there would override the value computed by Spatial Audio.

Coupling Rooms by Chaining Room Busses

Room coupling (see Room Coupling) is achieved by 'chaining' room busses. To allow this, make sure that the Enable Game-Defined Sends check box is enabled on Room Auxiliary Busses. This allows a Room to also send to the reverb of the listener's Room (or the next room in the path). A sound's Game-Defined Auxiliary Send volume and attenuation curve controls how much of each sound is mixed into the first bus of a room reverb chain, and the Game-Defined Auxiliary Send volume of each Room determines how much is sent to the next room in the chain. It affects how much acoustic energy is transferred to adjacent rooms via portals.

Setting Up a Room Tone in Wwise

A sound that is to be used as a room tone should have most of the same settings as a room Auxiliary Bus (refer to Setting Up a Room Auxiliary Bus in Wwise), in the Positioning tab of the Property Editor in Wwise.

The setup of a room tone is similar to the setup of a room Auxiliary Bus. In both cases:

  • Listener Relative Routing is enabled.
  • 3D Spatialization is set to Position + Orientation.
  • 3D Position is set to Emitter.
  • Use game-defined aux sends is enabled if it is desired for the room tone to excite the reverb of the room (if configured to do so, see Posting Events on Room Game Objects) and adjoining rooms.

There is one distinction between the two setups:

  • A room tone will likely have a unique Attenuation ShareSet, whereas a room Auxiliary Bus will not have an attenuation defined (a room bus will instead use the Auxiliary Send Volume curve of the sound playing on the emitter Game Object). Keep in mind the positioning behavior of the Room Game Object when designing this curve: the distance evaluated will be zero when the listener is inside the room, or exactly at a connected portal, and will increase as the listener moves away from the portal.

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise