版本

menu_open
Wwise SDK 2022.1.12

◆ SetGameObjectRadius()

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

Define an inner and outer radius around each sound position for a specified game object. If the radii are set to 0, the game object is a point source. Non-zero radii create a Radial Emitter. The radii are used in spread and distance calculations that simulates sound emitting from a spherical volume of space. 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, the spread is defined by the area that the sphere occupies 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 between the inner and outer radii, 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%.
    备注: 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
参数
in_gameObjectIDGame object ID
in_outerRadiusOuter radius around each sound position, defining 50% spread. Must satisfy in_innerRadius <= in outerRadius.
in_innerRadiusInner radius around each sound position, defining 100% spread and 0 attenuation distance. Must satisfy in_innerRadius <= in outerRadius.

此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅