Soundscape
Un Soundscape est un ou plusieurs son destiné à être joué sous Source. Le DSP peut être appliquer a ces sons et ainsi permettre un rendu réaliste du son, avec des écho, de la reverberations, des occlusions, ce que ne permet pas l'entité Ambient_generic. Ces Soundscapes peuvent être contrôlé sur de nombreux paramétre telle le volume (loop, volume, DSP,...) ce qui permet de rendre un environement complexe.
Un Soundscape est composé :
- D'un fichier "soundscape.txt" comprenant tous vos soundscape avec leur differents paramètres.
- De l'entité env_soundscape dans hammer pour relier vos son au fichier .txt. il se situe dans le dossier \Script.
- Vos sons Wav ou Mp3 dans le dossier \Sound.
En plus du DSP l'un des avantages est de pouvoir modifié le "soundscape.txt" sans avoir à recompiler, il devient ainsi très simple de modifier par exemple les volumes des sons s'il ne vous conviennent pas.
Entitée point env_soundscape
Le moteur Source ne peut jouer qu'un seul soundscape à la fois, passez à un autre Soudscape se fera de facon progressif. Il y à une exeption qui sera expliqué plus loins. L'entité env_soundscape à un rayon d'action, qui correspond non à la distance d'audition des sons, mais à une zone d'activation du Soundscape, une fois activer il le restera jusqu'a que le joueur entre dans un autre rayon d'action d'un autre env_soundscape. Le nom que vous lui donnez sera lier directement au Soundscape dans votre fichier "soundscape.txt".
L'entité a aussi 8 slot, permettant de jouer plusieurs son à des endroit précis differents. Ces slots sont déclarés dans le fichier .txt. Ils peuvent pointer sur n'importe quel entité, un point_target par exemple.
Ajouté un soundscapes perso
Pour un mod
Les Soundscapes qui sont charger sont définie dans le fichier <game directory>\scripts\soundscapes_manifest.txt
. Ajoutez-y dedans le nom de votre fichier Soundscapes.txt.
Puis placez votre Soundscape.txt dans <game directory>\scripts\my_custom_soundscape.txt
.
Pour une Map
Si vous avez crée une Map pour un mods ou un jeux, vous ne pouvez pas toucher au soundscapes_manifest.txt
, vous pouvez ajouter votre soundscape en l'appelant du même nom que votre Map et il sera charger avec, par exemple si votre Map s'appelle my_custom_map.bsp :
<game directory>\scripts\soundscapes_my_custom_map.txt
DSP
Voici les différentes valeur pour le DSP :
- 0 ; Desactiver.
- 1 ; Mode automatique il calcule les effets à appliquer selon la 3D autour et les matériaux, en géneral il est à cette valeur.
- Valeurs personnalisé ; Les pré-réglages sont disponible dans le fichier
../hl2/scripts/dsp_preset.txt
, numéroté de 0 à 29.
Type de Soundscapes
playlooping
Joue un son en boucle jusqu'a qu'un autre Soundscape soit activer.
wave
- Le nom de votre fichier son.
volume
- Le volume entre (0-1).
pitch
- La tonalité, afin de rentre votre son plus grave ou plus aigu. 100 est normal.
attenuation
- Définie l'atténuation du son. Utilisé seulement si la commande position suit.
- Note :These can be random intervals - the random value will be chosen once each time the soundscape is triggered.
position
- Identification de la position (0-7) que vous avez rentré dans votre entitée env_soundscape.
Exemple
"GenericIndoor" { "dsp" "1" "playlooping" { "volume" "1" "pitch" "100" "wave" "ambient/areas/air_exchange/indoor2.wav" } }
playrandom
Plays random sound events until a new soundscape is triggered.
time
- Time interval of the random event.
volume
- Random volume interval (0-1).
pitch
- Random pitch interval (50-250).
attenuation
- Random attenuation of sound.
rndwave
- A list of random wave files to choose from.
position
- Position to use, if spatialized (0-7), or "random" for a random position.
Example
"GenericOutdoor" { "dsp" "1" "playrandom" { // Play every 0.1 to 1.5 seconds "time" "0.1, 1.5" // At a volume of 0.5 to 1 "volume" "0.5,1" // At a pitch of 50% to 120% "pitch" "50,120" // With an attenuation of 0.7 "attenuation" "0.7" // At entity specified at position 1 "position" "1" // Play one of these .wav files randomly each time "rndwave" { "wave" "temp/soundscape_test/music_snippet1.wav" "wave" "temp/soundscape_test/music_snippet2.wav" "wave" "temp/soundscape_test/music_snippet3.wav" } } }
playsoundscape
Plays another soundscape and all of its sub-commands.
name
- Sub-soundscape to play.
volume
- All volumes in the sub-soundscape are scaled by this value (0-1).
position
- An offset added to each position index of the sub-soundscape (0-7).
positionoverride
- Forces all sub-soundscape positional sounds to occur at a single position originating from the entity at this index (0-7).
ambientpositionoverride
- Forces all sub-soundscape ambient sounds to be spatialized at a particular position originating from the entity at this index. Useful to make ambient sounds come “from a direction" (0-7).
Example
"SubSoundscape" { "dsp" "1" "playsoundscape" { // Sub-soundscape to play "name" "GenericIndoor" // All sub-soundscape volumes reduced by 50% "volume" "0.5" // All sub-soundscape position sounds will come from this point "positionoverride" "0" // All sub-soundscape ambient sounds will come from this point "ambientpositionoverride" "1" } }
soundmixer
Sound mixers are used to provide custom volume control over various sound categories, called mix groups. Sound mixers are referenced in Soundscapes via "SOUNDMIXER" "name".
Example
"automatic" { "dsp" "1" "dsp_volume" "1.0" "SOUNDMIXER" "Default_Mix" }
Always use Default_Mix as a template.
"Default_Mix" { // group name mix value // ---------- --------- "Explosions" "0.90" "Player_Weapons_Loud" "1.0" "Player_Suit" "0.56" "Weapons" "0.79" "AHELI_WEAPON" "0.85" "GUNSHIP_WEAPON" "0.85" "STRIDER_WEAPON" "0.85" "bullethit" "0.67" "Music" "0.81" "All" "0.72" }
References
/scripts/soundmixers.txt
from create a mod, source sdk/scripts/soundscapes.txt
from create a mod, source sdk