Version
menu_open
Wwise Unreal Integration Documentation
Spatial Audio Objects

AkAcousticTexture

Unreal object representing a Wwise Acoustic Texture. Can be created either by drag-and-drop from the Wwise Picker or by right-clicking in the Unreal Content Browser. Once created, it can be applied on a AkSurfaceReflectorSetComponent's polygons or on a AkSpotReflector.

With the AkGeometry Surface Properties Map, in the Integration Settings, it is possible to associate AkAcousticTextures to Unreal Physical Materials.

  • Properties
    • Edit Color: Editor-only property defining the color to be used when colorizing AkSurfaceReflectorSetComponent polygons that have an AkAcousticTexture assigned.

AkSpotReflector

The Spot Reflector actor allows one to place an omnidirectional point reflector in the 3D world. Spot reflectors make sense when they are placed on far away objects that have a large radius; like a distant mountain.

Spot Reflectors will reflect any sound coming from an AkComponent that has Enable Spot Reflectors enabled and that is positioned in the same area. An AkComponent will feed to spot reflectors if they both are outside rooms. If the AkComponent is in a room, it will only feed to spot reflectors inside the same room. Rooms can be created with a volume that has an AkRoomComponent attached.

Calls AK::SpatialAudio::AddImageSource() from the Spatial Audio API on BeginPlay.

  • Properties:
    • Aux Bus: AkAuxBus that has the AkReflect plug-in for early reflection DSP. This aux bus should enable game-defined auxiliary sends, with Listener Relative Routing enabled but 3D Spatialization set to None.
    • Acoustic Texture: AkAcousticTexture used to filter sounds reflected by this image source.
    • Distance Scaling Factor: Image source distance scaling. This number effectively scales the sourcePosition vector with respect to the listener and, consequently, scales distance and preserves orientation.
    • Level: Game-controlled linear level for this source.

AkSurfaceReflectorSetComponent

This component is equivalent to AkGeometryComponent, but it needs to be attached on an AVolume actor. On BeginPlay, all of the volume's enabled polygons will be sent to the SpatialAudio engine.

  • Properties
    • Enable Surface Reflector Set: Enables or disables this component
    • Acoustic Surfaces: Array defining the AkAcousticTexture associated with each polygon. The index in the array is represented in the Game Viewport when the parent volume is selected. Once a texture is assigned to a polygon, the polygon is colorized using the texture's Edit Color, and the Acoustic Texture's name is printed on the polygon in the Game Viewport. Assigning None as an Acoustic Texture will make the surface completely reflectible, no additional texture filter will be applied. Each polygon can also be enabled or disabled with the Enable Surface check box.
    • Acoustic Surface Properties
      • Enable Diffraction: Enable or disable geometric diffraction for this Geometry.
      • Enable Diffraction on Boundary Edges: Enable or disable geometric diffraction on boundary edges for this Geometry. Boundary edges are edges that are connected to only one triangle. Depending on the specific shape of the geometry, boundary edges may or may not be useful and it is beneficial to reduce the total number of diffraction edges to process.
      • Associated Room: (Optional) Associate this Surface Reflector Set with a Room. Associating a surface reflector set with a particular room will limit the scope in which the geometry is visible/accessible. Leave it as None and this geometry will have a global scope. It is recommended to associate geometry with a room when the geometry is (1) fully contained within the room (not visible to other rooms except by portals), and (2) the room does not share geometry with other rooms. Doing so reduces the search space for ray casting performed by reflection and diffraction calculations. Take note that once one or more geometry sets are associated with a room, that room will no longer be able to access geometry that is in the global scope.

AkRoomComponent

This component can be added to any volume, and then create a Spatial Audio Room. Rooms have two purposes:

  • Allow for oriented reverb. All Auxiliary Busses applied on a game object within a Room will be oriented towards the volume's front vector.
  • Used in conjunction with AkAcousticPortal, allow for routing the wet signal from one Room through a Portal, to another Room.

In both cases, the Auxiliary Bus used should have its positioning options set to enable Listener Relative Routing for Positioning to specify a 3D Spatialization and assign an attenuation.

  • Properties
    • Enable Room: Enables or disables this component
    • Priority: The precedence in which the rooms will be applied. In the case of overlapping rooms, the one with the highest priority is chosen. If two or more overlapping rooms have the same priority, the chosen room is unpredictable.
    • Wall Occlusion: Used to set the Wwise occlusion value on emitters in the Room, when no audio paths to the listener are found via sound propagation in Wwise Spatial Audio. This value can be thought of as 'thickness', because it relates to how much sound energy is transmitted through the wall. The valid range is 0.0f-1.0f, and is mapped to the occlusion curve as defined in the Wwise project.
    • Room Tone
      • Ak Audio Event: The event to be posted on the room game oject.
      • Aux Send: Send level for sounds that are posted on the room. Valid range: (0.f-1.f). A value of 0 disables the aux send.
      • Auto Post: Automatically post the audio event posted on the room on BeginPlay.

AkSpatialAudioVolume

For your convenience, an AkSpatialAudio volume is included in the integration. It consists of a simple volume with a AkSurfaceReflectorSetComponent, a AkRoomComponent and a Ak Late Reverb Component attached.

AkAcousticPortal

Representation of a Portal in Unreal Engine 4. Allows for sounds contained in a volume with AkRoomComponent attached to leak into other volumes with AkRoomComponent attached. Such volumes overlapping with Portals are detected at initialization time. Both panned and 3D-spatialized sounds can be routed through a portal.

  • Properties
    • Initial state: Whether this Portal should be initialized in an open (enabled) or closed (disabled) state.
    • Obstruction Refresh Interval: Set the time interval between obstruction checks (direct line of sight between listener and portal opening). Set to 0 to disable obstruction checks. We recommend disabling it if you want to use full Spatial Audio diffraction.
    • Obstruction Collision Channel: The object collision channel used for creating the collision of the obstruction ray-casts (between the Portal and the listener) with the desired geometry.

AkGeometryComponent

This component is equivalent to AkSurfaceReflectorSetComponent, but instead of brushes, it needs to be added to a StaticMeshComponent. The AkGeometryComponent will convert its mesh to Spatial Audio Geometry. The static mesh itself and the simple collision mesh are the two meshes from which it can be converted. Note that in the case of simple collision, sphere and capsule primitives are approximated to a bounding box mesh.

When debugging a game, it is possible to see the spatial audio geometry in the Wwise Authoring Game Object 3D Viewer. With the AkGeometryComponent, it is now possible to send more complex shapes. This can cause the Game Object 3D Viewer to not display the geometry. Make sure the Monitor Queue Pool Size in the Initialization settings is set accordingly to compensate for the additional data sent by the game.

Choosing either mesh type, the Acoustic Texture(s) and occlusion values will be deduced from the Physical Material(s) of the mesh. Use the AkGeometry Surface Properties Map in the Integration Settings to associate Physical Materials to AkAcousticTextures and occlusion values.

  • In the case of a static mesh, the surface properties are deduced from the Physical Material of each Material used by the static mesh.
  • Choosing simple collision as the mesh, the surface properties will be deduced from the Simple Collision Physical Material.

Take note that, in Unreal, when no Physical Material is chosen (left to None), the DefaultPhysicalMaterial is used instead. Associate an AkAcousticTexture to DefaultPhysicalMaterial for meshes with no Physical Material assigned.

  • Properties
    • Geometry
      • Mesh Type: Whether the geometry will be converted from the static mesh or the simple collision mesh.
      • LOD: If Static Mesh is selected in the Mesh Type list, this parameter allows you to choose the level of detail (LOD) to use as spatial audio geometry.
      • Welding Threshold: If Static Mesh is selected in the Mesh Type list, this parameter allows you to choose the local distance in Unreal units between two vertices to be welded together. Any two vertices closer than this threshold will be treated as the same unique vertex and assigned the same position. Increasing this threshold decreases the number of gaps between triangles, resulting in a more continuous mesh and less sound leaking though, as well as eliminating triangles that are too small to be significant. Increasing this threshold also helps Spatial Audio's edge-finding algorithm to find more valid diffraction edges.
      • Acoustic Texture Override: An Acoustic Texture entered here will override the physical material of the mesh. If static mesh is selected in Mesh Type, it is possible to override the acoustic texture of each material individually.
    • Diffraction
      • Enable Diffraction: Just like the AkSurfaceReflectorSetComponent, this will enable or disable geometric diffraction for this Geometry.
      • Enable Diffraction on Boundary Edges: Just like the AkSurfaceReflectorSetComponent, this will enable or disable geometric diffraction on boundary edges for this Geometry.
    • Optimization
      • Associated Room: (Optional) Associate this Geometry with a Room. Associating a geometry with a particular room will limit the scope in which the geometry is visible/accessible. Leave it as None and this geometry will have a global scope. It is recommended to associate geometry with a room when the geometry is (1) fully contained within the room (not visible to other rooms except by portals), and (2) the room does not share geometry with other rooms. Doing so reduces the search space for ray casting performed by reflection and diffraction calculations. Take note that once one or more geometry sets are associated with a room, that room will no longer be able to access geometry that is in the global scope.

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