Search public documentation:
- Ambient Zones
- Quick Guide
- Current Problem AmbientZones Address
- Solution: Ambient Zones
- Implementation Guide Examples
- Implementation Tips
AmbientZones are an inexpensive interior/exterior ambient audio solution. Benefits of AmbientZones include:
- Makes the transition from interior to exteriors areas sound good
- Reduces labor for audio designers, as less sound actors will need to be placed and iterated on inside/outside spaces
- Reduces game systems overhead, due to the savings in number of needed sound actors to define interiors and exteriors
- Create a ReverbVolume, and place an AmbientSoundSimple with a large radius looping sound inside of it, and a second large radius AmbientSoundSimple looping sound outside of it.
- Open the ReverbVolume parameters.
- Expand the AmbientZoneSettings to reveal the AmbientZone parameters:
- Set the bInside parameter to True; now the ReverbVolume is an active AmbientZone.
- Set the ExteriorVolume to .5 This is the final volume of AmbientSounds that are outside the AmbientZone when the player is inside the AmbientZone.
- Set the ExteriorLPF to .5 This is the final LowPassFilter on AmbientSounds that are outside the AmbientZone when the player is inside the AmbientZone.
- Set the InteriorVolume to .2 This is the final volume of AmbientSounds that are inside the AmbientZone when the player is outside the AmbientZone.
- Set the InteriorLPF to .2 This is the final LowPassFilter on AmbientSounds that are inside the AmbientZone when the player is outside the AmbientZone.
- Rebuild geometry, and enter the ReverbVolume with the AmbientZone you just set up.
- The AmbientSoundSimple that is outside the AmbientZone will have its volume multiplied by .5 and its LowPassFilter set to multiplied by .5
- Exit the ReverbVolume. Now the AmbientSoundSimple that was outside the ReverbVolume is restored to its previous volume and LPF settings. The AmbientSoundSimple located inside the ReverbVolume now has a volume multiplier of .2 and an LPF multiplier of .2 applied to it, making it very quiet.
With previous versions of the audio system, there was a common implementation problem where it was difficult to define a detailed space with radius-based SoundActors. Many SoundActors with varied radii were required to achieve detail. Additionally, level geometry could contain interior spaces that opened up on exterior spaces (open walls and windows). Since SoundActors can only use a spherical radius to play back audio, many SoundActors with small radii were required to fill level geometry. Here is an illustration of this problem: a box-shaped room in the middle of an exterior space. The red spheres are exterior audio and the blue spheres are interior to the square blue volume. Notice that 8 Outside Radius SoundActors and 8 Inside Radius SoundActors are required to accurately fill a box shape with sound:
A solution called AmbientZones has been implemented to solve this problem. There is a new parameter group added to all Reverb Volumes called "AmbientZoneSettings". The settings for the AmbientZone define how SoundActors located inside of and outside of the associated Reverb Volume will be altered by the player's location. A simple example of how this works is shown below. The square green volume is the AmbientZone volume; the purple sphere is a SoundActor located inside the AmbientZone, and the red spheres are SoundActors located outside the AmbientZone: Here is the behavior of the AmbientZone volume:
- When the player is outside of the AmbientZone, the SoundActors located inside the AmbientZone have a volume multiplier and LPF effect applied to them (these values are defined in the AmbientZoneSettings).
- hen the player enters the AmbientZone, the SoundActors located inside that AmbientZone will return to 1.0 multipliers for volume and LPF over a specified fade time for both. At the same time, all SoundActors located outside of the AmbientZone will have a volume and LPF multiplier applied to them over a specified fade time for both. Again, the values for volume, LPF and fade times are defined in AmbientZoneSettings.
- When the player exits the AmbientZone, the SoundActors outside the AmbientZone will return to their previous default volume and LPF values using the previous fade time, and the SoundActors located inside the AmbientZone will have their volume multiplier and LPF values changed via the AmbientZoneSettings for the AmbientZone.
|bInside||Whether to turn on AmbientZone features for this volume (True, False). If this parameter is set to False, the AmbientZone volume will serve as a new 'ExteriorVolume' default.|
|ExteriorVolume||(The final volume of exterior sounds when player inside this AmbientZone)|
|ExteriorTime||(Time to fade to new exterior volume in seconds)|
|InteriorVolume||(The final volume of interior sounds when outside this AmbientZone)|
|InteriorTime||(Time to fade to new interior volume in seconds)|
|ExteriorLPF||(Lowpass filter multiplier applied to exterior sounds when inside (0.1 to apply the maximum LPF))|
|ExteriorLPFTime||(Time to fade to new lowpass filter level in seconds)|
|InteriorLPF||(Lowpass filter multiplier applied to interior sounds when outside (0.1 to apply the maximum LPF))|
|InteriorLPFTime||(Time to fade to new lowpass filter level in seconds)|
Here are some real-world examples to help illustrate this behavior:
- Create a Reverb Volume inside the restaurant the size of the restaurant.
- Open the AmbientZoneSettings in the Reverb Volume properties.
- Set the InteriorVolume to .6, and the InteriorLPF to .4
- Set the ExteriorVolume to .4 and the ExteriorLPF to .2
- Place an AmbientSoundSimple with a large radius to play traffic sounds in the street.
- Place an AmbientSoundSimple with a large radius to play restaurants sounds in the restaurant.
- Rebuild your map geometry. This forces the Reverb Volume to check what SoundActors are inside of it.
- Enter and exit the Reverb Volume to hear the changes to audio. In this example, all fade times were set to the default of .5 seconds.
- Multiple-story buildings: large radius ambient sounds can be placed on each vertical level of a building without bleeding through to the floor above or below
- Bridges: unique ambient audio and reverb settings for below and above a bridge without bleedthrough
Only AmbientSoundSimple actors and SoundCues assigned to the Ambient soundclass are affected by AmbientZonesAmbientZone volume and LPF changes apply to AmbientSoundSimple actors, such as:
- Can be set inside the WorldInfo properties, under WorldInfo->DefaultAmbientZoneSettings
- In a level, there are two AmbientZones, AmbientZone A and AmbientZone B
- AmbientZone A contains SoundActor 1 playing a looping sound with a large attenuation radius (large enough to be heard inside AmbientZone B), and has an InteriorVolume of .5 and an InteriorLPF of .4
- AmbientZone B has an ExteriorVolume of 1.0 and an ExteriorLPF of 0.
- When the player is outside of AmbientZone A, he hears the SoundActor 1 playing back at InteriorVolume of .5 and an InteriorLPF of .4
- Now the player enters AmbientZone B
- The InteriorVolume and InteriorLPF that were set via AmbientZone A for SoundActor 1 will be multiplied by the ExteriorVolume of 1.0 and ExteriorLPF of .5 in AmbientZone B. This will result in the SoundActor 1's volume being set to set to .5 and LPF set to .2 while the player is inside AmbientZone B.
- This True/False setting is used to define an AmbientZone as being active. By default, when the player is outside of any AmbientZones, all ambient soundactors play at the default 1.0 volume and 1.0 LPF setting.
Inside?was removed, as AmbientZone volumes are always set to 'Inside' now as part of the feature.
- When placing a sound actor inside of an AmbientZone volume, you must rebuild the level's geometry, as this is when the check is performed on the sound actor to determine its location. After geometry has been rebuilt, all AmbientZone parameters can be freely changed in the editor.