{"name":"Arma 3: Sound: SoundShapes","title":"Arma 3: Sound: SoundShapes","type":"topic","url":"https://community.bistudio.com/wiki/Arma_3:_Sound:_SoundShapes","revid":364286,"updated":"2024-05-06T09:38:35Z","aliases":["Arma 3 Sound: SoundShapes"],"markdown":"SoundShapes allow sounds to have different volumes depending on whether the listener is inside or outside a soundShape with a transition inbetween. You can direct and point these shapes so that a sound is only heard in front of a vehicle for example.\nUnderlying tech in Arma 3 - [Microsoft XAudio2 SoundCone](https://msdn.microsoft.com/en-us/library/windows/desktop/ee418803(v=vs.85).aspx)\n\nCurrenty only \"cone\" type shapes are available and they are configured within cfgSoundShapes. Two examples:\n\n```cpp\nclass CfgSoundShapes\n{\n    class FrontSemispace60\n    {\n        type = \"cone\"; //type of shape, currently only cone available, check XAudio2 reference\n        innerVolume = 1; //volume when inside innerAngle area of cone, typically 1 (meaning 100%)\n        outerVolume = 0.001; //volume when outside outerAngle area of cone, typically lower\n        innerAngle = 135; //inner cone size in degrees, check XAudio2 reference\n        outerAngle = 225; //outer cone size in degrees, check XAudio2 reference\n        azimuth = 0; //direction of shape in degrees, 0 being FORWARD\n        elevation = 0; //elevation of shape in degrees, 0 meaning NO ELEVATION\n    };\n    class LeftBottomSemispace10\n    {\n        type = \"cone\";\n        innerVolume = 1;\n        outerVolume = 0.316228;\n        innerAngle = 135;\n        outerAngle = 225;\n        azimuth = -90; //direction of shape in degrees, -90 being 90 degrees LEFT\n        elevation = -90; //elevation of shape in degrees, -90 being 90 degrees UP\n    };\n};\n```\n\nThese are two BI default soundShapes. The naming scheme tells us what direction the cone is facing and how quiet the signal will be outside the cone. 60 means 60dB quieter, 10 means 10dB quieter.\nTo use soundShapes in soundSets, add \"shape\" parameter to soundSet. If you want to use custom soundShapes, create them in class cfgSoundShapes.\n\nWhen the listener is BETWEEN inner and outer angles, the volume will be scaled between inner & outerVolume values. innerVolume does NOT have to be higher than outerVolume, you can switch it around so that a sound will be quiet, when inside the cone.","sections":[{"heading":null,"level":1,"markdown":"SoundShapes allow sounds to have different volumes depending on whether the listener is inside or outside a soundShape with a transition inbetween. You can direct and point these shapes so that a sound is only heard in front of a vehicle for example.\nUnderlying tech in Arma 3 - [Microsoft XAudio2 SoundCone](https://msdn.microsoft.com/en-us/library/windows/desktop/ee418803(v=vs.85).aspx)\n\nCurrenty only \"cone\" type shapes are available and they are configured within cfgSoundShapes. Two examples:\n\n```cpp\nclass CfgSoundShapes\n{\n    class FrontSemispace60\n    {\n        type = \"cone\"; //type of shape, currently only cone available, check XAudio2 reference\n        innerVolume = 1; //volume when inside innerAngle area of cone, typically 1 (meaning 100%)\n        outerVolume = 0.001; //volume when outside outerAngle area of cone, typically lower\n        innerAngle = 135; //inner cone size in degrees, check XAudio2 reference\n        outerAngle = 225; //outer cone size in degrees, check XAudio2 reference\n        azimuth = 0; //direction of shape in degrees, 0 being FORWARD\n        elevation = 0; //elevation of shape in degrees, 0 meaning NO ELEVATION\n    };\n    class LeftBottomSemispace10\n    {\n        type = \"cone\";\n        innerVolume = 1;\n        outerVolume = 0.316228;\n        innerAngle = 135;\n        outerAngle = 225;\n        azimuth = -90; //direction of shape in degrees, -90 being 90 degrees LEFT\n        elevation = -90; //elevation of shape in degrees, -90 being 90 degrees UP\n    };\n};\n```\n\nThese are two BI default soundShapes. The naming scheme tells us what direction the cone is facing and how quiet the signal will be outside the cone. 60 means 60dB quieter, 10 means 10dB quieter.\nTo use soundShapes in soundSets, add \"shape\" parameter to soundSet. If you want to use custom soundShapes, create them in class cfgSoundShapes.\n\nWhen the listener is BETWEEN inner and outer angles, the volume will be scaled between inner & outerVolume values. innerVolume does NOT have to be higher than outerVolume, you can switch it around so that a sound will be quiet, when inside the cone."}],"categories":[],"groups":["General"]}