User Tools

Site Tools


arma3:terrain:environmental-sounds

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 soundSets and 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.

arma3/terrain/environmental-sounds.txt · Last modified: 2017-02-06 02:21 by snakeman