Sound: Sound Curves – Arma 3
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<syntaxhighlight lang="cpp">class" to "<syntaxhighlight lang="cpp"> class") |
Lou Montana (talk | contribs) m (Fix infobox) |
||
Line 6: | Line 6: | ||
All sound curves have to be configured in the base class '''CfgSoundCurves''' (or directly in curve parameter) | All sound curves have to be configured in the base class '''CfgSoundCurves''' (or directly in curve parameter) | ||
{| | {{Feature | informative | ||
| | | | ||
* In array of points {x, value}, x values must be ascending. | * 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) | * 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) | ||
}} | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
Line 19: | Line 19: | ||
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> | }; | ||
</syntaxhighlight> | |||
'''Example of configuration using curve class''' | '''Example of configuration using curve class''' | ||
Line 38: | Line 39: | ||
class CfgSoundSets | class CfgSoundSets | ||
{ | { | ||
//volumeCurve parameter using curve class | // volumeCurve parameter using curve class | ||
class Rifle_Shot1_SoundSet | class Rifle_Shot1_SoundSet | ||
{ | { | ||
Line 47: | Line 48: | ||
volumeCurve = InverseSquare1Curve; | volumeCurve = InverseSquare1Curve; | ||
}; | }; | ||
};</syntaxhighlight> | }; | ||
</syntaxhighlight> | |||
'''Example of configuration using direct curve definition''' | '''Example of configuration using direct curve definition''' | ||
Line 62: | Line 64: | ||
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> | }; | ||
</syntaxhighlight> |
Revision as of 09:57, 25 May 2021
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)
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 }
};
};
};