====== ArmA 3 Terrain Tanoa Sounds ====== **Tanoa Environmental Sounds** by kju Brief overview on new audio tech for terrain objects (thanks to Pennyworth for the assistance). 1. one can define one or more named selections in memory LOD of a model 2. probably works for any terrain object - so not limited to vegetation (trees, bushes) 3. the way it works the game looks for the name in CfgEnvSpatialSounds (subclass to EnvSounds in cfgWorlds terrain class - so can be/is terrain specific) 4. one assign multiple soundSets to the memory class sound_shrub_smallleaves_1 { memPoint = "sound_shrub_smallleaves_1"; soundSets[] = { "Rain_PlantA_Light_SoundSet", "Rain_PlantA_Medium_SoundSet", "Rain_PlantA_Heavy_SoundSet", "Insect_Day_SoundSet", "Insect_Night_SoundSet" }; }; 5. the soundSet is assigns soundShaders (and various advanced sound parameters) class Rain_PlantA_Medium_SoundSet { soundShaders[] = { "Rain_PlantA_Medium_SoundShader" }; volumeFactor = 1; frequencyFactor = 0.6; spatial = 1; doppler = 0; loop = 1; volumeCurve = "InverseSquare1Curve"; sound3DProcessingType = "PLant3DProcessingType"; }; 6. finally the soundShader has parameters to define under what conditions the sound is to be played (range + volume parameters) class Rain_PlantA_Medium_SoundShader { samples[] = { { "A3\Sounds_F_Exp\environment\elements\rains\rain_plantA_medium_001",1 }, { "A3\Sounds_F_Exp\environment\elements\rains\rain_plantA_medium_002",1 }, { "A3\Sounds_F_Exp\environment\elements\rains\rain_plantA_medium_003",1 } }; volume = "raindrops * raindrops * (rain factor[0.4,0.6])*(rain factor[0.9,0.7]) * 1.5"; range = 12; }; What Tanoa uses: http://paste.ubuntu.com/23881806/ All related [[http://paste.ubuntu.com/23881843/|soundSets]] and [[http://paste.ubuntu.com/23881866/|soundShaders]]. One can do with this things like rain, animals (insects, birds), wind related sounds, snow related sounds, water spring, church, clock, radio, buzzing, etc.