Version

    Other Documentation

menu_open
Wwise SDK 2021.1.14

◆ SetGameObjectRadius()

AKSOUNDENGINE_API AKRESULT AK::SpatialAudio::SetGameObjectRadius ( AkGameObjectID  in_gameObjectID,
AkReal32  in_outerRadius,
AkReal32  in_innerRadius 
)

Define a inner and outer radius around each sound position for a specified game object. The radii are used in spread and distance calculations, simulating a radial sound source. When applying attenuation curves, the distance between the listener and the inner sphere (defined by the sound position and in_innerRadius) is used. The spread for each sound position is calculated as follows:

  • If the listener is outside the outer radius, then the spread is defined by the area that the sphere takes in the listener field of view. Specifically, this angle is calculated as 2.0*asinf( in_outerRadius / distance ), where distance is the distance between the listener and the sound position.
  • When the listener intersects the outer radius (the listener is exactly in_outerRadius units away from the sound position), the spread is exactly 50%.
  • When the listener is in between the inner and outer radius, the spread interpolates linearly from 50% to 100% as the listener transitions from the outer radius towards the inner radius.
  • If the listener is inside the inner radius, the spread is 100%.
    Note: Transmission and diffraction calculations in Spatial Audio always use the center of the sphere (the position(s) passed into AK::SoundEngine::SetPosition or AK::SoundEngine::SetMultiplePositions) for raycasting. To obtain accurate diffraction and transmission calculations for radial sources, where different parts of the volume may take different paths through or around geometry, it is necessary to pass multiple sound positions into AK::SoundEngine::SetMultiplePositions to allow the engine to 'sample' the area at different points.
  • AK::SoundEngine::SetPosition
  • AK::SoundEngine::SetMultiplePositions
Parameters
in_gameObjectID Game object ID
in_outerRadius Outer radius around each sound position, defining 50% spread. Must satisfy in_innerRadius <= in outerRadius.
in_innerRadius Inner radius around each sound position, defining 100% spread and 0 attenuation distance. Must satisfy in_innerRadius <= in outerRadius.

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise