This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
arma2:sound [2010-09-10 05:08] snakeman created sound initial page. |
arma2:sound [2011-06-30 14:17] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== ArmA 2 Sound ====== | ||
- | If there are 3 parameters, then from second (volume in dB) is used for maximum distance calculation, max. distance is emitter distance from listener where sound from this emitter is not audible. | ||
- | |||
- | When in cfg are four parameters, then 4 parameter is distance in meters, and second parameter (volume in dB) is ignored - is recalculated based on max distance. | ||
- | |||
- | 0dB == 1000m | ||
- | |||
- | is recalculated based on max distance | ||
- | |||
- | What max distance is this - related to view distance? | ||
- | |||
- | Sample volume is recalculated, volume is derived from distance ( where 0dB = 1000m ), there is no "real" difference between these to entries. | ||
- | |||
- | Distance == view distance. | ||
- | |||
- | Some more good information - details about new class Sounds of cfgVehicles. | ||
- | |||
- | * frequency range is [0.6, inf] but usable range is somewhere about 1 that's [0.8, 1.2] | ||
- | * randomize = small random number unique for each vehicle, range [0, 1] | ||
- | * angular velocity - but this controller is not much usable, because values are discrete, not smooth, so in frame N it should be 0 and in frame N+1 it should be 2 | ||
- | * factor - linear interpolation between A and B based on x, value = A + (B - A) *x, trick to get peak is using min{ X factor [A, B], X factor [B, A] } | ||
- | |||
- | |||
- | ====== Example config ====== | ||
- | |||
- | Here is example helicopter engine / rotor sound config. | ||
- | <code cpp> | ||
- | class Sounds | ||
- | { | ||
- | class Engine | ||
- | { | ||
- | sound[] = {"pmc\vte_sounds\vehicle\CH47_engine_high_ext.wss", 1, 1, 800}; | ||
- | frequency = "rotorSpeed"; | ||
- | volume = "camPos*((rotorSpeed-0.72)*4)"; | ||
- | }; | ||
- | |||
- | class RotorLowOut | ||
- | { | ||
- | sound[] = {"pmc\vte_sounds\vehicle\CH47_rotor_ext.wss", 3.1622777, 1, 1500}; | ||
- | frequency = "rotorSpeed"; | ||
- | volume = "camPos*(0 max (rotorSpeed-0.1))"; | ||
- | cone[] = {1.8,3.14,2.0,0.9}; | ||
- | }; | ||
- | |||
- | class RotorHighOut | ||
- | { | ||
- | sound[] = {"pmc\vte_sounds\vehicle\CH47_rotor_forsage_ext.wss", 3.1622777, 1, 1800}; | ||
- | frequency = "rotorSpeed"; | ||
- | volume = "camPos*10*(0 max (rotorThrust-0.95))"; | ||
- | cone[] = {1.8,3.14,2.0,0.9}; | ||
- | }; | ||
- | |||
- | class EngineIn | ||
- | { | ||
- | sound[] = {"pmc\vte_sounds\vehicle\CH47_engine_high_int.wss", 1.7782794, 1}; | ||
- | frequency = "rotorSpeed"; | ||
- | volume = "(1-camPos)*((rotorSpeed-0.75)*4)"; | ||
- | }; | ||
- | </code> | ||
- | |||
- | Check out basic [[sound_config_tutorial|Sound config tutorial]]. |