Jump to content
Sign in to follow this  
[aps]gnat

Roadway LOD - Surface or floor sound

Recommended Posts

Per request and as I can't see anything in the BIKI (which I'll do later)

For more detail on default classes of sounds available, use a config explorer or the ALLINONE config available from Dev-Heaven.

The faces used in the ROADWAY LODs in 3d models provides at least 2 functions.

(This is very similar to how surface sounds are defined for Terrains also)

First, defining what the game engine considers a floor or roadway, so things dont fall through

Second, defines the sound that surface generates when it for example is walked on.

The later is defined in CfgSurfaces and then directly ascociated with a "Man" character via class SoundEnvironExt in class CAManBase.

Modder and Terrain makers can either use the default definitions or add classes.

As the default definitions are over 1000 lines, heres are samples instead;

class CfgSurfaces
{
...
...
class Water
{
	access = 2;
	files = "more_anim*";
	rough = 0;
	dust = 0;
	soundEnviron = "water";
	friction = 0.9;
	restitution = 0;
	isWater = 1;
	character = "Empty";
	impact = "default_Mat";
};
class Roadway: Default
{
	access = 2;
	files = "silnice*";
	rough = 0.005;
	dust = 0.01;
	soundEnviron = "road";
	character = "Empty";
};
class Parkety: Default
{
	access = 2;
	files = "parkety*";
	rough = 0.005;
	dust = 0.001;
	soundEnviron = "parkety";
	character = "Empty";
};
class Lepenka: Default
{
	access = 2;
	files = "lepenka*";
	rough = 0.001;
	dust = 0.001;
	soundEnviron = "lepenka";
	character = "Empty";
};
...
...
class Asfalt: Roadway
{
	access = 2;
	files = "asfalt*";
	rough = 0.01;
	dust = 0.05;
	soundEnviron = "road";
	character = "Empty";
};
class Cesta: Roadway
{
	access = 2;
	files = "cesta*";
	rough = 0.08;
	dust = 0.15;
	soundEnviron = "dirt";
	character = "Empty";
};
class Sterk: Default
{
	access = 2;
	files = "sterk*";
	rough = 0.08;
	dust = 0.15;
	soundEnviron = "gravel";
	character = "Empty";
};
...
...
class Metal: Default
{
	access = 2;
	files = "plechprolis*";
	rough = 0.1;
	dust = 0.1;
	soundEnviron = "steel";
	character = "Empty";
	impact = "Impact_Metal";
};
class Plech: Default
{
	access = 2;
	files = "plech*";
	rough = 0.1;
	dust = 0.1;
	soundEnviron = "steel";
	character = "Empty";
	impact = "Impact_Metal";
};
class Iron: Default
{
	access = 2;
	files = "ocel*";
	rough = 0.1;
	dust = 0.1;
	soundEnviron = "metal";
	character = "Empty";
	impact = "Impact_Metal";
};
class Wave_plate: Default
{
	access = 2;
	files = "vlnityplech*";
	rough = 0.1;
	dust = 0.1;
	soundEnviron = "wave_plate";
	character = "Empty";
	impact = "Impact_Metal";
};
class Beton: Default
{
	access = 2;
	files = "kameny";
	rough = 0.1;
	dust = 0.1;
	soundEnviron = "concrete_ext";
	character = "Empty";
};
class Carpet: Default
{
	access = 2;
	files = "dum_mesto_koberec*";
	rough = 0.1;
	dust = 0.1;
	soundEnviron = "carpet";
	character = "Empty";
};
...
...

The important parameters are the

files =
soundEnviron =

This is the file name of the texture that the sound will be associated with.

A hint of what the sound is is usually possible from the "soundEnviron" parameter.

When that texture is applied to ROADWAY LOD faces within a 3D model, walking on the surface will create the associated sound.

EG

files = "plechprolis*"; (soundEnviron = "steel"; )

Is trigger via the default texture;

ca\buildings\data\plechprolis.pac

Note the use of the * (star). This works as it looks, as a wild-card for file names.

The actual sound file(s) played (for Man class) come from the SoundEnvironExt definitions.

i.e. for "steel" as above;

steel[] = {{"\CA\sounds\Characters\steel\run_1",0.0316228,1,37},{"\CA\sounds\Characters\steel\run_2",0.0316228,1,37}, ........

Default classes for sound files.

	class SoundEnvironExt
	{
		normalExt[] =
		normal[] =
		road[] =
		rock[] =
		water[] =
		gravel[] =
		gravel2[] =
		sand[] =
		drygrass[] =
		grass[] =
		forest[] =
		mud[] =
		wood[] =
		wood_int[] =
		carpet[] =
		concrete_int[] =
		concrete_ext[] =
		metal[] =
		steel[] =
		hallway[] =
		dirt[] =
		parkety[] =
		wave_plate[] =
		lepenka[] =
	};

Related Threads

http://forums.bistudio.com/showthread.php?127296-different-sounds-inside-a-building

http://forums.bistudio.com/showthread.php?85582-Adding-footstep-sounds

http://forums.bistudio.com/showthread.php?69228-Custom-sounds

http://forums.bistudio.com/showthread.php?68338-Roads-and-their-proper-sounds

http://forums.bistudio.com/showthread.php?67191-List-of-soundEnviron

http://forums.bistudio.com/showthread.php?65081-Sound-(-forest-and-snow-)

Side note

Surface sounds for vehicles are defined within each vehicle class via sound classes like TiresAsphaltOut, TiresAsphaltIn, TiresGravelOut, TiresGravelIn, TiresMudOut etc etc

  • Like 1

Share this post


Link to post
Share on other sites

Really appreciated GNAT !!! I guess I'm going to discuss this a bit with the sound & config guys to see what we can get...

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×