by d'Spair & others
Ambient Sound MethodsEdit
Ambient sounds are used in most or all Thief missions, and are critical to the Thief experience. Deadly Shadows has two mechanisms for adding ambient sound "schemas" to levels.
- Sounds attached to Marker points, which are audible when the player is in the vicinity. This is similar to the mechanism used in Thief 1 and 2. These ambient sounds are directional, that is, they will appear to come from a particular location as the player moves around.
- Sounds attached to ZonePortals, which start to play when the player enters the zone, and continue until the player enters a zone with a different ambient sound. These sounds are non-directional; they just play in the background.
A schema can be either looping or non-looping. Ambient sounds that must continue to play in the background are looping schemas, whereas a sound that the player should only hear once are non-looping schemas. The "boom" sound that you hear when you start a level (schema amb_start) is an example of a non-looping schema: attach this to the BSP zone that the player starts in to make it play.
Each BSP zone may contain 5 ambient sound schemas, which includes 2 streaming schemas and 3 non-streaming schemas. Streaming schemas are those which play each and every time the player enters the zone - most continuous background sounds fall into this category. The non-streaming schemas are used when a sound should play when the player first enters a zone, and never again, which is ideal for the amb_start sound or other one-shot tension builders.
Each zone in a map can have different ambient sound playing in the background. This is called a "SoundStreaming". For example, you have two rooms in your map connected with a hallway. You also want different ambient sounds to play in each room, and complete silence in the hallway. Here's what you have to do.
First of all, you have to create ZonePortals - the sheets that will define borders of zones you have (more info on that is in UnrealEd tutorials). In our case, we need three zones: the first room, the hallway and the second room.
Now we need a ZoneProperties actor in each of the newly created zones. In T3ed, there's a very handy option that adds those actors automaticly. Just press View > Show Zone Properties Dialog. You will be asked if you want to generate the ZoneProperties actors, click Yes. That's it, now you have a ZoneProperty actor in the center of each zone (you should have three in total).
Now go into Properties of one of the ZoneProperties actor. You should use Add Property and pick SoundStreaming > StreamSchema1 from the list. Open up the SchemaBrowser list (by clicking the "..." button) to select a schema (ambient schemas are located in the schemas_sfx folder), then click the Use button to add the currently-highlighted schema to the object.
Note: the first time the schema browser is shown, it will load in about 15000 schemas, which takes some time. This does not happen on second or subsequent accesses to the schema browser.
Do the same with the ZoneProperty in another room, you can use a different schema.
To add silence, you have to press "Silence" button instead of using some schemas.
Once you enter a zone with a streaming schema set on it, this sound will be played until you enter a zone with another schema or silence set on it. Note that if you do not fill a schema slot, it will default to "No Change". This means that if you go from a zone with 2 streaming schemas into a zone with only 1, then one of the first schemas will continue to play unless its slot is explicitly set to Silence in the second zone.
You may also want to add EAX reverb to your zones.
Often there may be a need for a localised ambient sound, such as a fire burning or a machine in operation. These can be added via the use of an AmbientSound actor.
- )Enter the Actor Browser (button on the top toolbar that looks like a chess pawn).
- )Open up Marker -> KeyPoint -> AmbientSound.
- )Right-click in a viewport, and choose Add AmbientSound here.
- )Right-click on the AmbientSound object, and add the property Sound -> SoundAmbient
- )Click the "..." button to open the schema browser and choose an appropriate schema for the marker (e.g. fireplace_lp for a fire sound).
Test the AmbientSound in game - the schema should play when the player is nearby or inside the marker.
Note: In T3Ed the radius of a marker-based ambient sound is determined by the schema, not a property on the marker like in Dromed.
This radius can be edited.
To control the radius simply modify the outer radius setting (in feet) on the schema browser and click save this schema.
The following sections list some of the schemas available in the gamesys. Schemas with audible notes or chords are listed as music schemas, all others are listed as ambient schemas (the division can frequently be blurry, however).
- List of Ambient Schemas
- List of Music Schemas
Back to Mission Design: Sound Tutorials Page
Back to Mission Design Tutorials Page
Back to Main Tutorials Page