Sound: Sound Curves – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
(Created page with "== Sound Curves == Sound curve is a simple set of points on 2D graph, which define the relationship between two variables (usually distance and volume). All sound curves hav...")
 
No edit summary
Line 11: Line 11:
|}
|}


<code>
<syntaxhighlight lang="cpp">class CfgSoundCurves
class CfgSoundCurves
{
{
    class InverseSquare1Curve
class InverseSquare1Curve
    {
{
        points[] =
points[] =
            {
{
                {0.0, 0.9751},
{0.0, 0.9751},
                {0.1, 0.6332},
{0.1, 0.6332},
                {0.2, 0.4307},
{0.2, 0.4307},
                {0.3, 0.3009},
{0.3, 0.3009},
                {0.4, 0.2128},
{0.4, 0.2128},
                {0.5, 0.1503},
{0.5, 0.1503},
                {0.6, 0.1043},
{0.6, 0.1043},
                {0.7, 0.0695},
{0.7, 0.0695},
                {0.8, 0.0426},
{0.8, 0.0426},
                {0.9, 0.0213},
{0.9, 0.0213},
                {1.0, 0.0041}
{1.0, 0.0041}
            };
};
    };
};
};
};</syntaxhighlight>
</code>


'''Example of configuration using curve class'''
'''Example of configuration using curve class'''
<code>
<syntaxhighlight lang="cpp">class CfgSoundSets
class CfgSoundSets
{
{
//volumeCurve parameter using curve class
//volumeCurve parameter using curve class
Line 43: Line 40:
soundShaders[] =  
soundShaders[] =  
{
{
MX_closeShot_SoundShader,
MX_closeShot_SoundShader
};
};
volumeCurve = InverseSquare1Curve;
volumeCurve = InverseSquare1Curve;
};
};
};
};</syntaxhighlight>
</code>


'''Example of configuration using direct curve definition'''
'''Example of configuration using direct curve definition'''
<code>  
<syntaxhighlight lang="cpp">class CfgSoundSets
class CfgSoundSets
{
{
//volumeCurve direct definition
//volumeCurve direct definition
Line 59: Line 54:
soundShaders[] =  
soundShaders[] =  
{
{
MX_closeShot_SoundShader,
MX_closeShot_SoundShader
};
};
volumeCurve[] =
volumeCurve[] =
{
{
{0.0, 0.9751},
{0.0, 0.9751},
{0.1, 0.6332},
{0.1, 0.6332},
{0.2, 0.4307},
{0.2, 0.4307},
{0.3, 0.3009},
{0.3, 0.3009},
{0.4, 0.2128},
{0.4, 0.2128},
{0.5, 0.1503},
{0.5, 0.1503},
{0.6, 0.1043},
{0.6, 0.1043},
{0.7, 0.0695},
{0.7, 0.0695},
{0.8, 0.0426},
{0.8, 0.0426},
{0.9, 0.0213},
{0.9, 0.0213},
{1.0, 0.0041}
{1.0, 0.0041}
};
};
};
};
};
};</syntaxhighlight>
</code>

Revision as of 12:29, 24 September 2016

Sound Curves

Sound curve is a simple set of points on 2D graph, which define the relationship between two variables (usually distance and volume).

All sound curves have to be configured in the base class CfgSoundCurves (or directly in curve parameter)

  • In array of points {x, value}, x values must be ascending.
  • x values are rescaled to range (which means: using 0..1 values represent relative definition, while using meters represents absolute definition, but be sure that the highest x value is the same as range and the lowest x value is 0)
class CfgSoundCurves
{
	class InverseSquare1Curve
	{
		points[] =
		{
			{0.0, 0.9751},
			{0.1, 0.6332},
			{0.2, 0.4307},
			{0.3, 0.3009},
			{0.4, 0.2128},
			{0.5, 0.1503},
			{0.6, 0.1043},
			{0.7, 0.0695},
			{0.8, 0.0426},
			{0.9, 0.0213},
			{1.0, 0.0041}
		};
	};
};

Example of configuration using curve class

class CfgSoundSets
{
	//volumeCurve parameter using curve class
	class Rifle_Shot1_SoundSet
	{
		soundShaders[] = 
		{
			MX_closeShot_SoundShader
		};
		volumeCurve = InverseSquare1Curve;
	};
};

Example of configuration using direct curve definition

class CfgSoundSets
{
	//volumeCurve direct definition
	class Rifle_Shot1_SoundSet
	{
		soundShaders[] = 
		{
			MX_closeShot_SoundShader
		};
		volumeCurve[] =
		{
			{0.0, 0.9751},
			{0.1, 0.6332},
			{0.2, 0.4307},
			{0.3, 0.3009},
			{0.4, 0.2128},
			{0.5, 0.1503},
			{0.6, 0.1043},
			{0.7, 0.0695},
			{0.8, 0.0426},
			{0.9, 0.0213},
			{1.0, 0.0041}
		};
	};
};