Wwise SDK 2023.1.8
|
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.
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 has no effect.
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.
Note: Diffraction, Transmission Loss, Occlusion, and Obstruction for room reverb are applied at the Emitter-Room connection, using the attenuation curves of the source sound. Assigning an attenuation to a Room Auxiliary Bus has no effect. |
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.
An emitter that has the Enable Game-Defined Sends check box selected sends to its own room's bus as well as all adjacent rooms that have active paths back to the listener. The relative send levels for each room represent the amount of acoustic energy that propagates to adjacent rooms through portals, and how much remains in the emitter's room. All of the portals connected to the emitter's room are included in this ratio calculation even if there is no active connection to the Room Auxiliary Bus opposite that portal.
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:
There is one distinction between the two setups:
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise